ส่งแบบฟอร์มในแท็บใหม่


143

ฉันต้องการ (เพียงเพื่อทดสอบฟังก์ชั่นบางอย่างหลังจากที่ฉันหลีกเลี่ยงพฤติกรรมนี้) เพื่อโหลดหน้าเว็บที่เรียกโดยส่งบนแท็บใหม่: เป็นไปได้หรือไม่

คำตอบ:


305
<form target="_blank" [....]

จะส่งแบบฟอร์มในแท็บใหม่ ... ฉันไม่แน่ใจว่านี่คือสิ่งที่คุณต้องการหรือไม่โปรดอธิบายให้ดีกว่า ...


1
ใช่แล้ว! นั่นคือสิ่งที่ฉันหมายถึง! ขออภัยภาษาอังกฤษของฉันแย่มาก ฉันแก้ไขหัวข้อหวังเป็นสิทธิ comprensive ขึ้นในขณะนี้ :)
markzzz

1
jqueryแท็กสับสนฉันฉันคิดว่าคุณกำลังพูดคุยเกี่ยวกับการร้องขออาแจ็กซ์;)
Straßeการเดินทาง

4
@nalply: อย่างจริงจัง? เบราว์เซอร์ส่วนใหญ่ใช้แท็บทุกครั้งที่เว็บไซต์แนะนำให้ใช้หน้าต่างใหม่ ( target="_blank") และนั่นเป็นสิ่งที่ดีเพราะไม่มีใครต้องการเว็บไซต์เพื่อเปิดหน้าต่างใหม่และฉันไม่คิดว่าค่าเริ่มต้นนี้จะเปลี่ยนแปลงไปเนื่องจากทุก ๆ เว็บไซต์ใช้_blankทุกวันนี้
ThiefMaster

นั่นคือการกวาดรายละเอียดที่สำคัญภายใต้พรมปูพื้น _blankไม่เปิดแท็บใหม่ มันจะเปิดใหม่หน้าต่างซึ่งส่วนใหญ่ ( แต่ไม่เสมอ !!) เริ่มต้นที่จะเปิดใหม่แท็บ ขึ้นอยู่กับการกำหนดค่าของเบราว์เซอร์ โปรดดูคำตอบที่ถูกโหวตขึ้นอย่างมาก : stackoverflow.com/a/4907854/220060
เกือบ

@ เพียงแค่ฉันเห็นด้วยกับคุณว่าคำสั่งนั้นเปิดลิงก์ในหน้าต่างใหม่แต่คุณต้องยอมรับกับฉันว่าทุกวันนี้เบราว์เซอร์ที่รู้จักทั้งหมดเปิดหน้าต่างใหม่เป็นแท็บดังนั้นผลลัพธ์จึงเหมือนกัน หากผู้ใช้กำหนดค่าเบราว์เซอร์ด้วยตนเองเพื่อเปิดหน้าต่างใหม่ก็เป็นการเลือกที่เขาทำและเราไม่สามารถทำอะไรเพื่อป้องกันสิ่งนี้
Strae

23

ฉันมีปุ่ม [ส่ง] และปุ่ม [ดูตัวอย่าง] ฉันต้องการให้ภาพตัวอย่างแสดงมุมมองการพิมพ์ของข้อมูลแบบฟอร์มที่ส่งโดยไม่คงอยู่กับฐานข้อมูล ดังนั้นฉันต้องการ [ดูตัวอย่าง] เพื่อเปิดในแท็บใหม่และส่งเพื่อส่งข้อมูลในหน้าต่าง / แท็บเดียวกัน

<button type="submit" id="liquidacion_save" name="liquidacion[save]" onclick="$('form').attr('target', '');">Save</button></div>    <div>
<button type="submit" id="liquidacion_Previsualizar" name="liquidacion[Previsualizar]" onclick="$('form').attr('target', '_blank');">Preview</button></div>  

16

นอกจากนี้ยังเป็นไปได้ที่จะใช้คุณลักษณะปุ่มใหม่ที่เรียกformtargetว่าถูกนำมาใช้กับ HTML5

<form>
  <input type="submit" formtarget="_blank"/>
</form>


8

เมื่อคุณติดตั้ง jQuery ที่ติดแท็กนี้ฉันจะถือว่าคุณต้องการให้บางสิ่งติดอยู่กับฟังก์ชั่นความสำเร็จของคุณหรือไม่

success: function(data){
    window.open('http://www.mysite.com/', '_blank');
}


2

สิ่งนี้จะใช้งานได้ดีคุณสามารถทำอย่างอื่นในขณะที่แท็บตัวจัดการใหม่ส่ง

<form target="_blank">
    <a href="#">Submit</a>
</form>

<script>
    $('a').click(function () {
        // do something you want ...

        $('form').submit();
    });
</script>

1

ตัวเลือกเบราว์เซอร์ของคุณจะต้องตั้งค่าให้เปิดหน้าต่างใหม่ในแท็บใหม่มิฉะนั้นจะเปิดหน้าต่างเบราว์เซอร์ใหม่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.