2
我正在使用帶有textarea的對話框。點擊確定按鈕後,textarea的值會通過ajax發送到服務器。
用戶第一次寫入textarea時,值會被正確讀取,但在所有後續操作中,發送的值與第一次相同,就好像用戶反覆輸入了相同的字符串一樣。jquery對話框只讀取一次textarea值
function message(url) {
var mydiv;
mydiv = $(document.createElement('div'));
mydiv.html("enter message: <textarea name='message' id='message'/>");
mydiv.dialog(setProps(url));
mydiv.dialog('open');
}
function setProps(url) {
return {
buttons: {
"ok": function() {
$.get('/act?url=' + url + '&message=' + $("#message").val().trim(),
function(data) {
$("#content").load('/react?url=' + url);
}
);
$(this).dialog("close");
$(this).dialog("destroy");
// If I use the following all subseq. actions are empty:
// $("#message").val('');
}
}
}
}
我懷疑,問題是多次嘗試添加id ='message'的元素(因爲id需要是唯一的)。用class ='message'替換它可能會解決你的問題。 – 2010-11-23 10:38:19
@conqenator - `.val()`仍然會得到* first *元素的值。 – 2010-11-23 10:41:07