[英]I'm trying to get Textarea value from a dynamically generated form but when I click the button nothing happens
我有一个完全从jQuery生成的HTML文档,因此有一个表单。 当我单击按钮时,我试图获取在文本区域内输入的值,但它保持“未定义”状态。
我在jQuery中的HTML:
jQuery('<form/>', {
id: 'username_form',
"class": 'username_form'
}).appendTo('#header');
jQuery('<h2/>', {
text: 'Please enter a Username',
id: 'popuptitle',
"class": 'username_title'
}).appendTo('#username_form');
jQuery('<textarea rows="1" col"50"/>', {
id: 'username_text',
"class": 'username_form'
}).appendTo('#username_form');
/* btn submit */
var btn_submit= document.createElement('input');
btn_submit.setAttribute('id','btn_Submit');
btn_submit.setAttribute('type','button');
btn_submit.setAttribute('name','btn_Submit');
btn_submit.setAttribute('value','Submit');
$(btn_submit).appendTo('#username_form');
我的功能:
$('#btn_Submit').click(function() {
//alert("Submitted");
var username = $.trim($("#username_text").val());
alert($("textarea#username_text").text());
if(username != ""){
// Show alert dialog if value is not blank
alert(username);
}
});
我的警报中唯一发生的是空白或“未定义”
当创建动态元素时,jQuery在启动时不知道该元素,因此无法将事件附加到该元素。 您的按钮元素无法绑定事件。
您必须将事件绑定到现有的父元素,如下所示:
$(document).on("click",'#btn_Submit',function() {
...
});
当您尝试创建文本区域时,我认为这是与jQuery函数jQuery相关的问题。 它没有获得通知的ID 。 如果仅以这种方式使用:
jQuery('<textarea/>', {
有用。 (但您还需要使用.val()而不是.text() 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.