Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取由Ajax请求创建的文本区域的值_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript 获取由Ajax请求创建的文本区域的值

Javascript 获取由Ajax请求创建的文本区域的值,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我在一个表(也是由ajax请求创建的)内创建了一个文本区域,该表位于一个不是由ajax请求创建的div内。我试图通过Jquery获取该文本区域的值,但它不起作用。问题是什么?任何帮助都将受到感谢 <tr> <td valign='middle' align='center'> <label id='feedbackLabel' for='feedbackText'>Feedback</label> </td&g

我在一个表(也是由ajax请求创建的)内创建了一个文本区域,该表位于一个不是由ajax请求创建的div内。我试图通过Jquery获取该文本区域的值,但它不起作用。问题是什么?任何帮助都将受到感谢

<tr>
    <td valign='middle' align='center'>
        <label id='feedbackLabel' for='feedbackText'>Feedback</label>
    </td>
    <td class='righttd' valign='middle' align='center'>
        <textarea id='feedback'></textarea>
    </td>
</tr>

$('#resultDiv').on("click", ".button", function(){
    var feedBack = $('#feedback').val();
    alert(feedBack);
});

反馈
$('#resultDiv')。在(“单击“,”按钮”,函数()上){
var feedBack=$('#feedBack').val();
警惕(反馈);
});

尝试将您的侦听器添加到
文档
元素:

$(document).on('click', '#resultDiv .button', function(){
    var formID = this.id;
    var feedBack = $('#coordinatorFeedback').val();
    alert(feedBack);
});

如果jQuery代码在最终呈现textarea HTML的ajax调用之前写入页面(并因此运行),那么您已经为不存在的对象分配了一个单击事件。呈现textarea HTML后,您需要分配click事件。这是获取
textarea
值的正确语法。
#resultDiv
的标记和其余代码所隐含的
.button
在哪里?我想初始化click listener时,
#resultDiv
不在
DOM
中。确保在创建textarea后执行此操作。@jmar777当然可以。它们都在我通过Ajax请求创建的同一个表中。问题一定出在其他地方,或者你没有告诉我们所有的事情。@Tartar:如果这有效,那么在你试图绑定事件处理程序时,
\resultDiv
就不存在了。也许再看看一些基础知识:@FelixKling我确实检查了#resultDiv是否存在,我看到它存在。我不知道是什么导致了这个问题,但上面的解决方案是有效的。@Tartar:即使元素是在HTML中定义的,在您试图绑定处理程序时,它也可能不存在。如果将事件处理程序绑定放在
$(document).ready(…)
(如教程所建议的)中,或者放在HTML源代码中的元素之后,那么代码可能工作正常。“证明”:@FelixKling是的,它是在HTML中定义的,但我不明白为什么在我尝试的那一刻它不存在?@Tartar:有关更多信息,请参阅。