2012-12-02 9 views
5

से वैरिएबल वैल्यू पास करें कहें कि मुझे नीचे एक HTML फॉर्म मिला है और टेक्स्टफील्ड में मानों को जेएस चर के रूप में पास करना है।फॉर्म जावास्क्रिप्ट

<form name="testform" action="" method="?" 
<input type="text" name="testfield1"/> 
<input type="text" name="testfield2"/> 
</form> 

मैंने केवल PHP में चर के मानों को पास कर दिया है। जावास्क्रिप्ट में इसे करने पर, क्या मुझे एक विधि चाहिए? और मुख्य प्रश्न, यह कैसे किया जाता है?

जावास्क्रिप्ट:

document.getElementById('name_of_input_control_id').value; 

jQuery:

$("#name_of_input_control_id").val(); 

मूल रूप से आप डोम जावास्क्रिप्ट का उपयोग करने से बाहर इनपुट नियंत्रण के मूल्य को निकालने कर रहे हैं

उत्तर

3

यहाँ उदाहरण के एक जोड़े हैं/jQuery।

+1

नोट कैसे ओपी के उदाहरण में नियंत्रण एक आईडी हालांकि नहीं है ... –

+1

सच है। ओपी को अपने इनपुट नियंत्रण में एक आईडी जोड़नी होगी। – Lowkase

+0

मेरा मुद्दा है: जरूरी नहीं। किसी नाम का उपयोग करना ठीक है, और चूंकि फ़ॉर्म तत्वों को किसी भी नाम की आवश्यकता होती है (कम से कम जब वे सर्वर के साथ फ़ॉर्म के माध्यम से संवाद करते हैं), इसका उपयोग क्यों न करें? –

0

अपने "सबमिट करें" में निम्नलिखित का प्रयास करें:

var input = $("#testfield1").val(); 
0

जवाब सब सही हैं, लेकिन आप समस्याओं का सामना कर सकते हैं यदि आप न एक document.ready समारोह में अपने कोड डाल ... यदि आपके codeblock से ऊपर है एचटीएमएल हिस्सा आप आईडी के साथ किसी भी इनपुट क्षेत्र नहीं मिलेगा, क्योंकि इस समय में यह मौजूद नहीं करता है ...

document.addEventListener('DOMContentLoaded', function() { 
    var input = document.getElementById('name_of_input_control_id').value; 
}, false); 

jQuery

jQuery(document).ready(function($){ 
    var input = $("#name_of_input_control_id").val(); 
}); 
0

आप वास्तव में अगर आप बस जावास्क्रिप्ट में पाठ फ़ील्ड का उपयोग कर रहे एक method या एक action विशेषता की जरूरत नहीं है

एक submit बटन और इस तरह के फार्म के लिए एक onsubmit हैंडलर जोड़े

<form name="testform" onsubmit="return processForm(this)"> 
    <input type="text" name="testfield1"/> 
    <input type="text" name="testfield2"/> 
    <input type="submit"/> 
</form> 

फिर अपने जावास्क्रिप्ट में आप इस processForm समारोह हो सकता था

function processForm(form) { 
    var inputs = form.getElementsByTagName("input"); 
    // parse text field values into an object 
    var textValues = {}; 
    for(var x = 0; x < inputs.length; x++) { 
     if(inputs[x].type != "text") { 
      // ignore anything which is NOT a text field 
      continue; 
     } 

     textValues[inputs[x].name] = inputs[x].value; 
    } 

    // textValues['testfield1'] contains value of first input 
    // textValues['testfield2'] contains value of second input 

    return false; // this causes form to NOT 'refresh' the page 
} 
संबंधित मुद्दे