我目前正在通过 javascript 设置文本框值。但是当我尝试使用 $("#idField").val() 获取该值时,我得到空值。
我应该如何获得那些文本框的值?
我想做的是这样
确保您的#idField 存在(唯一 ID)
.val()仅适用于 input/select/textarea 元素,如果您想要文本只需使用 .text(),如果您想要 html 只需使用 .html();
<script type="text/javascript" charset="utf-8">
jQuery(document).ready(function($){
var user_name = $('#user_name').val();
alert(user_name);
});
</script>
<label for="user_name">Label</label>
<input type="text" name="user[name]" value="User name" id="user_name">
Be sure that jQuery library is included properly.
Make confirm that you're trying to access the textfield
value after assigning some value to it, not before assign.
Make sure that your ID
is unique.
To set value to textfield
syntax is: $("#idField").val('some value')
.
After set the you can get value.
If you're trying to assign the value using any variable
, check that the variable
has some value or it is null
. To set value using variable:
var myVar = 'some value';
$("#idField").val( myVar );
Try to use firebug/ such like debugger to catch the error (if you don't get any luck)
.val()
没有参数在调用函数时获取字段的值,但如果你的“#idField”元素还没有被解析,那么$("#idField")
就找不到它,然后.val()
就是undefined
. 这就是为什么您需要在文档就绪处理程序或正文末尾的脚本块中运行操作 DOM 的脚本。
在你的小提琴的情况下,你真的不清楚你想要做什么,但你正在声明和初始化你的field_one_val
变量:
var field_one_val = $("#field_one").val();
...在页面加载时,该字段实际上为空,因此field_one_val
最终为空字符串。
然后在您的点击处理程序中使用该变量:
$("#field_two").val('val '+field_one_val +' added to this field');
...但它仍然是一个空字符串。
如果您正在尝试做的是单击第二个字段,则此时获取第一个字段的值,然后执行以下操作:
$("#field_two").val('val ' + $("#field_one").val() + ' added to this field');
如这个更新的演示所示:http: //jsfiddle.net/g3vng/2/