2012-08-30 20 views
6

वहाँ जिसमें मैं इससाथ जावास्क्रिप्ट का उपयोग करते हुए "इस"

<a href="javascript:;" onclick="this.submit();">Save</a> 

मैं एक ही कोड evrywhere तो मैं कर सकता हूँ 'का उपयोग करना चाहते जैसे href लिंक है मौजूदा फार्म जमा करने के लिए कोई तरीका है प्रपत्र प्रस्तुत करने के लिए कैसे

<a href="javascript:;"onclick="document.forms.<formname>.submit();">Save</a> 

वास्तव में यह जब <formname> भी फार्म की आईडी से बदला जाता है काम करने के लिए लगता है: किसी भी आईडी या वर्ग

+1

क्यों आप ऐसा करना चाहते हैं? अपने कोड को अलग जावास्क्रिप्ट फ़ाइल में रखना एक अच्छा अभ्यास है। क्या कोई कारण है कि आप स्क्रिप्ट से मार्कअप को अलग नहीं कर सकते? – BentOnCoding

उत्तर

10

फ़ॉर्म भेजें this.form.submit()

यानी आपके मामले में यह

जैसा होगा
<a href="#" onclick="this.form.submit();">Save</a> 

लेकिन यह अत्यधिक

अन्यथा यदि आप सहज महसूस कर रहे jQuery का उपयोग कर प्रपत्र नाम का उपयोग करने के लिए आप भी jQuery का उपयोग कर सकते closest समारोह

$(field).closest("form").submit(); 
+0

के साथ सबमिट बटन को बदल रहा हूं, नहीं, यह काम नहीं करता है: अपरिभाषित –

0

क्या आप चाहते हैं का उपयोग करें।

Althoughy मैं दृढ़ता से आप अभ्यास Unobtrusive Javascript

0

रूप में जाना जाता अनुसंधान आप अपने पृष्ठ के प्रपत्रों की n संख्या है कहो की सिफारिश करेंगे। आप का उपयोग करके वें रूप i+1 प्रस्तुत कर सकते हैं:

document.forms[i].submit(); 

तो अगर आप सिर्फ एक है, और लिंक क्लिक पर प्रस्तुत करना चाहते हैं,

document.forms[0].submit(); 

होना चाहिए अपने onclick विशेषता के मूल्य

+0

लेकिन फिर मुझे प्रत्येक href के लिए कोड को अलग करने की आवश्यकता है। मेरे पास लगभग 30 फाइलें हैं और मैं खोल स्क्रिप्ट –

1
<a href="" onclick="!function(a){while(a&&a.nodeName!="FORM")a=a.parentNode;if(a)a.submit();}(this);"></a> 
+0

की संपत्ति 'सबमिट' नहीं पढ़ी सही कोड है: ''। – Paya

0

आप इस कोड

<a href="" onkeypress="submit(this.form)"/> 
<script> 
    function submit(form) { 
     form.submit(); 
    } 
</script> 
कोशिश कर सकते हैं की सिफारिश की
0

मैं अज्ञात फॉर्म नाम के लिए इस समाधान का उपयोग करता हूं:

function submitForm(originator) 
{ 
    var pN=originator.parentNode; 
    while (true) 
    { 
     if (pN&&pN.nodeName=='FORM') 
     { 
      pN.submit(); 
      break; 
     } 
     pN=pN.parentNode; 
    } 
} 

और अब किसी भी दस्तावेज़ के वस्तु घटना पर हम इस सुविधा का उपयोग कर सकते हैं:

<div onclick="doSomething();submitForm(this)">test</div> 
संबंधित मुद्दे