[英]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.