2010-05-07 13 views
7

मैं अपने सबमिट बटन चाहते हैं में निहित होने की जरूरत है कहीं तैनात होना है कि मेरे फ़ॉर्म तत्व बाहर? क्या मेरे पास कोई विकल्प है? Jquery के अपवाद के साथ।सबमिट बटन प्रपत्र

धन्यवाद, rodchar

+0

जब आप jQuery का कहना है, आप भी जावास्क्रिप्ट मतलब है egrunin जवाब से अधिक स्पष्ट विचार हो रही जवाब का एक और प्रकार है? –

+0

यदि आप ऐसा कर सकते हैं, तो एकाधिक रूपों वाले पृष्ठों का व्यवहार क्या होगा? –

+0

चूंकि आपका '

' पूरे पृष्ठ में ले सकता है, क्या आप पूछ रहे हैं क्योंकि आपके पास पृष्ठ पर कई रूप हैं? – egrunin

उत्तर

1

यह एक आम स्थिति है। मैं (यह परीक्षण नहीं किया) लगता है कि यह यह करना होगा:

<form id="form1" action="someAction.cgi" method="GET"> 
    <!-- other fields go here --> 
</form> 
<form id="form2" action="someOtherAction.cgi" method="GET"> 
    <!-- other fields go here --> 
</form> 

<form> 
    <input value="Form One" type="button" 
     onclick="document.getElementById('form1').submit();"/> 
    <input value="Form Two" type="button" 
     onclick="document.getElementById('form2').submit();"/> 
</form> 

मुझे यकीन है कि अगर आपको लगता है कि पिछले <form> की जरूरत नहीं हूँ। मुझे लगता है कि बटन form में नहीं था, तो मुझे ईवेंट को अनदेखा करने वाले ब्राउज़र याद आते हैं।

4

यह करने के लिए एक और दृष्टिकोण केवल बटन पर form attribute स्थापित करने के लिए है:

<form id="first"> 
    <input type="submit" form="second" value="Submit Second" /> 
</form> 
<form id="second"> 
    <input type="submit" form="first" value="Submit First" /> 
</form> 

फिडल: http://jsfiddle.net/52wgc2ym/


मूल उत्तर

सबमिट बटन का प्राकृतिक व्यवहार अपने पदानुक्रम को निकटतम रूप प्रस्तुत करना है। एक फॉर्म सबमिट करने के लिए बटन प्राप्त करने का एकमात्र अन्य तरीका जिसमें यह नहीं रहता है जावास्क्रिप्ट का उपयोग करना है (जो कि jQuery है, मूल रूप से)।

यदि आवश्यक हो, तो आप सबमिट बटन को पुनर्स्थापित कर सकते हैं ताकि दिखाई दे, हालांकि यह पृष्ठ प्रस्तुत होने पर दृष्टि में रूप में नहीं है। आप इसे सीएसएस का उपयोग करके करेंगे, जो वांछित परिणाम दे सकता है।

+0

सीएसएस के लिए +1, मैं उस के बारे में सोच नहीं किया। –

+0

"जावास्क्रिप्ट (जो jQuery है, मूल रूप से)" ...हमम –

+0

jQuery .... आईएस ...... जावास्क्रिप्ट :) – user1360809

4

सबमिट बटन, प्रपत्र के अंदर होने की जरूरत है हाँ।

यह किसी अन्य तरीके से करना चाहते हैं, वैसे भी मेरे लिए अजीब लगता है। यदि इनपुट नियंत्रण पृष्ठ पर एक ही स्थान पर था, तो सबमिट बिंदु क्या होगा, और सबमिट बटन waaay कहीं और था?

2

प्रकार submit के इनपुट केवल <form> तत्वों के बच्चों के रूप में समझ में आते हैं। लेकिन सीएसएस का उपयोग करके मुझे यकीन है कि आप जहां भी चाहें इसे स्थान दे सकते हैं। याद रखें कि फॉर्म तत्व "अदृश्य" हैं, इसलिए बस अपनी सामग्री के आस-पास के टैग का विस्तार करें और आप शामिल हैं। यहां the documentation on forms for HTML4 है, यह अभी भी उपयुक्त है।

2

हाँ, संरचनात्मक रूप से सबमिट बटन एक फार्म तत्व के अंदर होने के लिए दस्तावेज़ वैध एक्स/एचटीएमएल होने के लिए की जरूरत है। लेकिन दृष्टि से आप उचित सीएसएस (फ्लोट, पूर्ण/सापेक्ष स्थिति, आदि) के साथ कहीं भी सबमिट बटन सबमिट कर सकते हैं। आप जावास्क्रिप्ट भी लिख सकते हैं जो फ़ॉर्म सबमिशन को ट्रिगर करेगा और इसे किसी अन्य तत्व से जोड़ देगा।

0

यह

<form id="form1" name="form1" action="someAction.cgi" method="GET"> 
     <!-- other fields go here --> 
    </form> 
    <form id="form2" name="form2" action="someOtherAction.cgi" method="GET"> 
     <!-- other fields go here --> 
    </form> 

    Calling by form id: 
    <form> 
     <input value="Form One" type="button" 
      onclick="document.getElementById('form1').submit();"/> 
     <input value="Form Two" type="button" 
      onclick="document.getElementById('form2').submit();"/> 
    </form> 

or Calling by form name: 

    <form> 
     <input value="Form One" type="button" 
      onclick="document.form1.submit();"/> 
     <input value="Form Two" type="button" 
      onclick="document.form2.submit();"/> 
    </form> 
संबंधित मुद्दे