जावास्क्रिप्ट में टेक्स्ट बॉक्स का मूल्य कैसे प्राप्त करें


97

मैं HTML टेक्स्ट बॉक्स से मान प्राप्त करने के लिए जावास्क्रिप्ट का उपयोग करने का प्रयास कर रहा हूं, लेकिन सफेद स्थान के बाद मान नहीं आ रहा है

उदाहरण के लिए:

<input type="text" name="txtJob" value="software engineer">

मुझे केवल ऊपर से "सॉफ्टवेयर" मिलता है। मैं इस तरह से एक स्क्रिप्ट का उपयोग कर रहा हूं:

var jobValue = document.getElementById('txtJob').value

मुझे पूरा मूल्य कैसे मिलेगा: "सॉफ्टवेयर इंजीनियर"?

जवाबों:


63

+1 गुमबो: पृष्ठ तत्वों तक पहुँचने का सबसे आसान तरीका 'आईडी' है। IE (पूर्व संस्करण 8) एक मिलान किए गए 'नाम' के साथ चीजें लौटाएगा यदि यह दिए गए आईडी के साथ कुछ भी नहीं पा सकता है, लेकिन यह एक बग है।

मुझे केवल "सॉफ्टवेयर" मिल रहा है।

आईडी-बनाम-नाम इस को प्रभावित नहीं करेगा; मुझे संदेह है कि ऐसा क्या हुआ है (उदाहरण कोड के विपरीत) आप अपने 'मूल्य' विशेषता को उद्धृत करना भूल गए हैं:

<input type="text" name="txtJob" value=software engineer>

77

आपके तत्व में एक आईडी नहीं, बल्कि एक नाम है। इसलिए आप या तो getElementsByName()इस नाम के साथ सभी तत्वों की सूची प्राप्त करने के लिए विधि का उपयोग कर सकते हैं :

var jobValue = document.getElementsByName('txtJob')[0].value  // first element in DOM  (index 0) with name="txtJob"

या आप तत्व को एक आईडी प्रदान करते हैं:

<input type="text" name="txtJob" id="txtJob" value="software engineer">

11
var word = document.getElementById("word").value;//by id
or
var word = document.forms[0].elements[0].value;//by index
//word = a word from form input
var kodlandi = escape(word);//apply url encoding

alert(escape(word));
or
alert(kodlandi);

समस्या यह है कि आप ब्राउज़र से इनपुट मानों के लिए एन्कोडिंग का उपयोग नहीं कर रहे हैं, इसलिए ब्राउज़र उन्हें नहीं जोड़ता है ...

ontop में यूनिकोड एन्कोडिंग / डिकोडिंग संचालन के रूप में कुछ समस्याएं हैं इसलिए इस फ़ंक्शन एन्कोडिंग स्ट्रिंग्स / सरणियों का उपयोग करें

function urlencode( str ) 
{
// http://kevin.vanzonneveld.net3.    
// +   original by: Philip Peterson4.    
// +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)5.    
// *     example 1: urlencode('Kevin van Zonneveld!');
// *     returns 1: 'Kevin+van+Zonneveld%21'7. 
   var ret = str; 
   ret = ret.toString();
   ret = encodeURIComponent(ret);
   ret = ret.replace(/%20/g, '+');
   return ret;
}


ex.
var word = "some word";
word = urlencode(word);

7
<!DOCTYPE html>
<html>
<body>
<label>Enter your Name here: </label><br>
<input type= text id="namehere" onchange="displayname()"><br>


<script>
function displayname() {
    document.getElementById("demo").innerHTML = 
document.getElementById("namehere").value;
}

</script>


<p id="demo"></p>

</body>
</html> 

4

सेट idकी विशेषता inputके लिए txtJob। जब आप कॉल करते हैं तो आपका ब्राउज़र क्वर्की कार्य कर रहा होता है getElementById


4

यदि आप ASP.NET का उपयोग कर रहे हैं, तो नीचे दिए गए इन उदाहरणों में सर्वर-साइड कोड टैग सटीक नियंत्रण आईडी प्रदान करेंगे, भले ही आप मास्टर पृष्ठों का उपयोग कर रहे हों।

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

document.getElementById("<%=MyControlName.ClientID%>").value;

JQuery:

$("#<%= MyControlName.ClientID %>").val();

3

यदि यह एक रूप में है तो यह होगा:

<form name="jojo">
<input name="jobtitle">
</form>

तब आप जावास्क्रिप्ट में कहेंगे:

var val= document.jojo.jobtitle.value

document.formname.elementname

3

बशर्ते जब आप टेक्स्ट बॉक्स का मूल्य चाहते हैं। सरल एक:

<input type="text" value="software engineer" id="textbox">

var result = document.getElementById("textbox").value;

0

यदि आप किसी उपयोगकर्ता नियंत्रण का उपयोग कर रहे हैं और कोई पाठ बॉक्स मान प्राप्त करना चाहते हैं तो आप नीचे दिए गए कोड का उपयोग कर सकते हैं:

var result = document.getElementById('LE_OtherCostsDetails_txtHomeOwnerInsurance').value;

यहां, LE_OtherCostsDetailsउपयोगकर्ता नियंत्रण का नाम है और txtHomeOwnerInsuranceपाठ बॉक्स की आईडी है।


0



समस्या यह है कि आपने एक छोटी गलती की है!

यह JS कोड मैं उपयोग करता हूं:

var jobName = document.getElementById("txtJob").value;

आपको नाम = "" का उपयोग नहीं करना चाहिए। इसके बजाय आईडी = "" का उपयोग करें।


0

आपको अपना कोड नीचे बदलना होगा: -

<html>
<body>
<div>
<form align="center" method=post>
    <input id="mainText" type="text" align="center"placeholder="Search">

    <input type="submit" onclick="myFunction()" style="position: absolute; left: 450px"/>
</form>
</div>
<script>
function myFunction(){
    $a= document.getElementById("mainText").value;
    alert($a);
        }
</script>
</body>
</html>

0

क्योंकि आपने सॉफ़्टवेयर इंजीनियर html / php के बीच स्थान का उपयोग किया था, पाठ बॉक्स के अंतर्गत मान के बीच स्थान का समर्थन नहीं करेगा, आपको इस कोड का उपयोग करना <input type="text" name="txtJob" value=software_engineer> होगा यह काम करेगा


0
 var jobValue=document.FormName.txtJob.value;

उस कोड को ऊपर आज़माएं।

jobValue: चर नाम।
FormName: html में फॉर्म का नाम।
txtJob: टेक्स्टबॉक्स नाम


0

यह jquery का उपयोग करके सरल होना चाहिए:

HTML:

  <input type="text" name="txtJob" value="software engineer">

जे एस:

  var jobValue = $('#txtJob').val(); //Get the text field value
  $('#txtJob').val(jobValue);        //Set the text field value

0

टेक्स्टबॉक्स के लिए आईडी सेट करें। अर्थात,

<input type="text" name="txtJob" value="software engineer" id="txtJob"> 

जावास्क्रिप्ट में

var jobValue = document.getElementById('txtJob').value

जेकरी में

 var jobValue =  $("#txtJob").val();
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.