javascript - $ ('#<form name> input[name=<field>]' ).val() 返回未定义?

标签 javascript jquery

<s:form action="editDispositionMatrix" namespace="/" 
id="editDispositionMatrix" >
  <s:textarea name="otherReason"  cols="50" rows="5" ></s:textarea>
</s:form>


<script type="text/javascript" charset="utf-8">

  $('#editDispositionMatrix').submit(function(){

    var otherReason1 = $('#editDispositionMatrix 
    input[name=otherReason]').val();       //getting undefined
    var otherReason2 =  $('[name="otherReason"]').val();                                   
    //getting right value
  });

</script>

这是 jsp 中的示例代码,它是一个模型窗口。之前它使用 $('#editDispositionMatrix input[name=otherReason]').val() 从用户输入的文本区域读取值。现在我们得到的值是未定义的。但是当我们使用 $('[name="otherReason"]').val(); 时,我们得到了正确的值。此问题的根本原因是什么?

最佳答案

原因是您没有 <input>选择。使用

$('#editDispositionMatrix textarea[name=otherReason]').val()

相反

关于javascript - $ ('#<form name> input[name=<field>]' ).val() 返回未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48416258/

相关文章:

javascript - 在水平日历上显示时间数据

javascript - 使用 vanilla JS 的 chrome ext 中的 Accordion

javascript - 如何修复 Internet Explorer 8 中的 `Internet Argument Code: 0`?

javascript - PHP 在 ajax 结果中添加不需要的换行符

jquery 与其他 javascript 库不冲突

javascript - 无法为 JavaScript 中的对象变量赋值

javascript - 使用 jQuery 防止回发并运行 OnClick

jQuery:获取具有特定 ID 的子对象

jQuery AJAX 响应类型

javascript - 是否可以使用 jQuery 的 .when 而不使用 ajax 调用?