HTML textarea值即将出现'undefined'

时间:2011-12-30 00:47:32

标签: javascript html textarea

我的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'值属性?我可以尝试解决这个问题吗?

3 个答案:

答案 0 :(得分:4)

这是可能的,因为你的dom还没有加载,你的标签已经准备就绪

$(document).ready(function() {
   $('textarea_' + id).val();
});

答案 1 :(得分:4)

要在Jquery中按Id选择项目,请不要忘记添加“#”

$('#textarea_' + id).val();

答案 2 :(得分:0)

我能够通过使用标记来封装每个表单(每个表单都有唯一的ID)来解决此问题。

我认为应该可以一直访问textarea的.value属性而不将其包含在表单标记中,但是Internet Explorer似乎需要在表单标记中“有时”。

不是最佳答案 - 但确实解决了这个问题。