【问题标题】:How to get text box value in JavaScript如何在 JavaScript 中获取文本框的值
【发布时间】:2021-02-07 09:16:49
【问题描述】:

我正在尝试使用 JavaScript 从 HTML 文本框中获取值,但空格后没有出现值

例如:

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

我只从上面得到:“软件”。我正在使用这样的脚本:

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

如何获得完整的价值:“软件工程师”?

【问题讨论】:

    标签: javascript html


    【解决方案1】:

    您的元素没有 ID,只有名称。因此,您可以使用getElementsByName() 方法来获取具有此名称的所有元素的列表:

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

    或者你给元素分配一个ID:

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

    【讨论】:

      【解决方案2】:

      +1 Gumbo:“id”是访问页面元素的最简单方法。如果 IE(8 之前的版本)找不到具有给定 ID 的任何内容,它将返回具有匹配“名称”的内容,但这是一个错误。

      我得到的只是“软件”。

      id-vs-name 不会影响这个;我怀疑发生的事情是(与示例代码相反)您忘记引用您的“值”属性:

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

      【讨论】:

        【解决方案3】:
        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 作为 unicode 编码/解码操作存在一些问题 所以 使用此函数编码字符串/数组

        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);
        

        【讨论】:

          【解决方案4】:
          <!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> 
          

          【讨论】:

            【解决方案5】:

            inputid 属性设置为txtJob。当您致电 getElementById 时,您的浏览器表现得很古怪。

            【讨论】:

              【解决方案6】:

              当你想要文本框值时提供。简单的一个:

              <input type="text" value="software engineer" id="textbox">
              
              var result = document.getElementById("textbox").value;
              

              【讨论】:

                【解决方案7】:

                如果您使用的是 ASP.NET,即使您使用的是母版页,下面这些示例中的服务器端代码标记也会提供准确的控件 ID。

                Javascript:

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

                JQuery:

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

                【讨论】:

                  【解决方案8】:

                  如果它是一种形式,那么它将是:

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

                  然后你会用javascript说:

                  var val= document.jojo.jobtitle.value
                  
                  document.formname.elementname
                  

                  【讨论】:

                    【解决方案9】:

                    这是一个简单的方法

                    document.getElemmentByName("txtJob").getAttribute("value")
                    

                    【讨论】:

                      【解决方案10】:

                      如果您正在使用任何用户控件并且想要获取任何文本框值,那么您可以使用以下代码:

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

                      这里,LE_OtherCostsDetails 是用户控件的名称,txtHomeOwnerInsurance 是文本框的 ID。

                      【讨论】:

                        【解决方案11】:



                        问题是你犯了一个小错误!

                        这是我使用的 JS 代码:

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

                        您不应使用 name=""。而是使用 id=""。

                        【讨论】:

                          【解决方案12】:

                          您需要更改您的代码如下:-

                          <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>
                          

                          【讨论】:

                            【解决方案13】:

                            因为你使用了软件工程师html/php之间的空格将不支持文本框下的值之间的空格,你必须使用这个代码 &lt;input type="text" name="txtJob" value=software_engineer&gt; 它会工作

                            【讨论】:

                              【解决方案14】:
                               var jobValue=document.FormName.txtJob.value;
                              

                              试试上面的代码。

                              jobValue : 变量名。
                              FormName : html 中的表单名称。
                              txtJob : 文本框名称

                              【讨论】:

                                【解决方案15】:

                                使用 jquery 应该很简单:

                                HTML:

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

                                JS:

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

                                【讨论】:

                                  【解决方案16】:

                                  为文本框设置 id。即,

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

                                  在 JavaScript 中

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

                                  在 Jquery 中

                                   var jobValue =  $("#txtJob").val();
                                  

                                  【讨论】:

                                    猜你喜欢
                                    • 1970-01-01
                                    • 1970-01-01
                                    • 2022-11-29
                                    • 1970-01-01
                                    • 1970-01-01
                                    • 1970-01-01
                                    • 1970-01-01
                                    • 2019-11-06
                                    • 2013-03-19
                                    相关资源
                                    最近更新 更多