如何用js / jquery修改文本输入的值?

时间:2011-05-20 16:52:26

标签: javascript jquery forms html5

我想动态修改某些表单元素的值,更具体地说是某些输入文本字段。到目前为止,每当我加载我的html页面时,我只是获取空白输入字段,但我希望它包含1的值。以下是我尝试这样做的一个示例。

<!DOCTYPE HTML>
<HTML>
   <HEAD>
      <script type="text/javascript" src="javascript/jquery-1.6.1.min.js"></script>
      <script type="text/javascript">
         $(document).ready(function(){
            var myForm = $(this).getElementById('form1');
            myForm.elements['Q01'].value = '1';
         });
      </script>
   </HEAD>
   <BODY>
      <form id="form1">
         <input type="text" name="Q01" maxlength="1" />
      </form>
   </BODY>
</HTML>

这需要动态完成的原因是因为表单的值每次都可能不同。我是否正确接近这个?关于如何实现我的预期功能的建议?

- 编辑 -

这些解决方案似乎都无法解决问题。这是我的代码的更新:

<!DOCTYPE HTML>
<HTML>
   <HEAD>
      <script type="text/javascript" src="javascript/jquery-1.6.1.min.js"></script>
      <script type="text/javascript">
         $(document).ready(function(){
                //$("#Q01").val("1");
                $("#form1 input[name='Q01']").val("1");
                //$("input[name='Q01']").val('1');
         });
      </script>
   </HEAD>
   <BODY>
      <form id="form1">
         <input type="text" id="Q01" name="Q01" maxlength="1" />
      </form>
   </BODY>
</HTML>

我希望在加载页面时,输入文本中会包含1。但输入文本一直显示为空。有什么想法吗?

- 编辑 -

以下是我喜欢的以下答案的解决方案:

<!DOCTYPE HTML>
    <HTML>
       <HEAD>
          <script type="text/javascript" src="javascript/jquery-1.6.1.min.js"></script>
          <script type="text/javascript">
             $(document).ready(function(){
                    $("#Q01").val("1");
             });
          </script>
       </HEAD>
       <BODY>
          <form id="form1">
             <input type="text" id="Q01" name="Q01" maxlength="1" />
          </form>
       </BODY>
    </HTML>

4 个答案:

答案 0 :(得分:5)

如果您使用的是jQuery,可以在输入元素中将id属性更改为name,然后执行以下操作:

$('#Q01').val('1')

val方法设置值可以在这里找到更多的值:http://api.jquery.com/val/

答案 1 :(得分:3)

你的准备好的处理程序是正确的。关于jQuery的一个好处是它的选择器引擎。我建议您查看documentation以帮助您熟悉它。

为了做你想做的事,我建议这样的事情:

$(document).ready(function() {
    $("#form1 input[name='Q01']").val("1");
});

#form1document.getElementById("form1")相同。 input[name='Q01']抓取input属性等于name的所有Q01元素。 .val方法将所选元素值设置为字符串1

答案 2 :(得分:0)

$(document).ready(function(){
   $("form input[name='Q01']).val('1');         
)};

答案 3 :(得分:0)

这应该有效:

 $("input[name='Q01']").val('1');

但为什么不将id设置为输入?

希望它有效