我的HTML textareas'有时'在value属性中有'undefined' - 我无法解决导致它的原因。
背景:我有一个PHP脚本,可以在页面上生成大量的textareas - 每个都使用计数系统具有唯一的ID。 textareas属于页面上显示的不同形式。它就像一封电子邮件收件箱,每封电子邮件下都有一个“快速回复”表单。
有时,在提交表单时,相应的textarea值将显示为“undefined”,而不是用户在字段中键入的实际值。示例代码:
//Javascript
function quickReply(id)
{
message = document.getElementById('textarea_' + id).value();
//Send 'message' and other details to PHP for handling...
}
我也试过用jQuery等价物调用该值:
$('textarea_' + id).val();
大部分时间一切都按预期工作,但有时价值会出现'未定义'。然后将'undefined'发送到我在Javascript中的PHP代码,最后以“回复”的形式保存在数据库中,这就是问题的发现方式。
是什么导致textarea具有'undefined'值属性?我可以尝试解决这个问题吗?
答案 0 :(得分:4)
这是可能的,因为你的dom还没有加载,你的标签已经准备就绪
了$(document).ready(function() {
$('textarea_' + id).val();
});
答案 1 :(得分:4)
要在Jquery中按Id选择项目,请不要忘记添加“#”
$('#textarea_' + id).val();
答案 2 :(得分:0)
我能够通过使用标记来封装每个表单(每个表单都有唯一的ID)来解决此问题。
我认为应该可以一直访问textarea的.value属性而不将其包含在表单标记中,但是Internet Explorer似乎需要在表单标记中“有时”。
不是最佳答案 - 但确实解决了这个问题。