我想动态修改某些表单元素的值,更具体地说是某些输入文本字段。到目前为止,每当我加载我的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>
答案 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");
});
#form1
与document.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设置为输入?
希望它有效