我有一個彈出式對話框,旨在允許用戶從Excel工作表中粘貼數據,以便由服務器端腳本解析。 (長篇故事)但是,我今天發現了一個完全不同的問題,即如果你嘗試多次使用它而不刷新頁面,jQuery將會在你第一次提交它時繼續提交文本框中的任何東西。jQuery .val()不返回文本區域的更新值
這裏的顯示問題小提琴:http://jsfiddle.net/prjg4u6w/3/
運行它,點擊「上傳」按鈕,然後鍵入「富」。然後再次點擊「上傳」按鈕並輸入「bar」。結果只是連接你鍵入的任何文本,所以顯然它應該說「foo酒吧」,但它出現爲「foo foo」。發生在兩個運行Chrome 37和Firefox 32
我懷疑這可能是一些有關我創建對話框的方式:
$("#tabs").on('click', '#uploadTSV', function() {
var opts = {
title: 'Upload TSV',
appendTo: '#tabs',
width: 500,
datatype: 'html',
buttons: [{
text: 'Hold on to Your Butts',
click: function() {
uploadTSV();
$(this).dialog("close");
}
}, {
text: 'Cancel',
click: function() {
$(this).dialog("close");
}
}]
};
var dia = $("<div></div>");
var txt = '<p>Paste file here</p><textarea id="uploadTSVText" style="width: 100%; height: 50px;"></textarea>';
dia.html(txt).dialog({
title: opts.title,
appendTo: opts.appendTo,
width: opts.width,
buttons: opts.buttons
});
});
,但我看不出爲什麼是應作出當我不明白問題時,我會猶豫不決。
+1富富...(有時事情並不跨文化翻譯好):) – 2014-09-19 15:18:39
哪裏是你的uploadTSV()函數? – artm 2014-09-19 15:20:59