two and multiple submit button in one form

พอดีต้องใช้งานเลยลองค้นดูครับ สองลิงก์นี้ใช้ความรู้ทั่วๆไป คือเราสร้างปุ่ม submit ขึ้นกี่ปุ่มก็ตาม แล้วส่งค่าผ่านปุ่มกดด้วย value='something' เพื่อให้ไฟล์ที่จะไป process ต่อในฝั่ง server side ที่เราระบุโดย form action สามารถอ่านค่าและทำงานต่างกันออกไปได้ อันนี้ก็เป็นเทคนิคนึงครับ แต่คุณต้องเข้าถึงฝั่ง server side ด้วย
และลิงก์นี้พี่แกมาแรงครับ โพสต์ทีเดียวยิงไปหลายที่ (กะเอาให้กระจุย) ไม่เหมือนกับที่ต้องการแต่ก็จดไว้ก่อนเผื่อต้องใช้วันหน้าครับ กดหนึ่งทีโพสต์ไปหลายที่เลยทำยังไง แถมมีเทคนิคหลายแบบด้วย


ส่วนลิงก์นี้จัดว่าตรงตามความต้องการของผมในตอนนี้นะครับ คือเราสามารถเลือกไปเลยว่าจะ submit ไปที่ไหนโดยไม่ต้องยุ่งกับ server side เลย
โดยสรุปคือเค้าทำแบบนี้ครับ เขียนส่วนนี้ไว้ที่ header

<!-- เขียนฟังก์ชั่นใน javascript เพื่อให้ form ถูก submit ไปยัง url ที่ระบุด้วยตัวแปร //-->
<script>
    function submitForm(action)
    {
        document.getElementById('columnarForm').action = action;
        document.getElementById('columnarForm').submit();
    }
</script>

ส่วนนี้ก็เอาไว้ที่ body ครับ

<!-- ส่วนของปุ่ม submit ก็ใช้ event onclick มาดักแทน แต่ตัวอย่างนี้สังเกตว่าปุ่มเป็นภาพนะครับ //-->

<input type="image" name="camper" onclick="submitForm('formindb_hoh_1.php')" value="camper" src="../images/apps/camperBtn.png" class="submit_button" />

<input type="image" name="medical" onclick="submitForm('formindb_hoh_2.php')" value="medical" src="../images/apps/medicalBtn.png" class="submit_button" />

จบสั้นๆไว้ตรงนี้ตามเคยครับ หวังว่าคงได้ประโยชน์กันนะครับ พบกันใหม่ตอนหน้าครับ ขอบคุณที่เข้ามาชมครับ

กิตติศักดิ์ บุญราศรี

เพิ่มเติมครับ ....
หลังจากที่ลองเอาวิธีการดังกล่าวไปใช้แล้วปรากฏว่าไม่เวอร์คเท่าไหร่เพราะผมพยายามใช้ภาพประกอบให้น้อยลง และการสร้างภาพเป็นปุ่มมันเปลี่ยนแปลงแก้ไขลำบาก ไปๆมาๆเจอวิธีการในลิงก์ข้างบนนี่แหละครับ แนะนำให้ใช้ html5 เออก็ฟังดูเข้าท่าเพราะมันมาใหม่ มันแก้ปัญหาจบแน่ แล้วก็จริงด้วยครับ ดูจากข้างล่างนี้คุณจะรู้เอง มันง่ายมาก

<!DOCTYPE html>
<html>
  <body>
    <form>
      <input type="submit" formaction="firsttarget" value="Submit to first" />
      <input type="submit" formaction="secondtarget" value="Submit to second" />
    </form>
  </body>
</html>

ง่ายไปป๊าว!!.. คนทำเรื่องนี้คนแรกๆ คงคิดกันหัวแทบแตกทำไงให้โพสต์ไปอีกที่ได้โดยการสร้างปุ่มไว้ให้เลือก ใช้วิธีต่างๆนานา ตอนนี้ง่ายเกิ๊น..!

แสดงความคิดเห็น

0 ความคิดเห็น