jQuery UI ダイアログ ボックスを使用して画像の URL を入力しています。私は次の方法を使用しています:
<input id="dlg" value="Open Dialog" type="button" />
<script type="text/javascript">
var img = '<div id="dialog" title="Insert Image" style="width:500px;height:300px">';
img += '<table><tr><td style="width:100px">';
img += 'Image URL: </td><td><input id="txt" type="text" value="" size="52" /></td>';
img += '</tr></table></div>';
$('#dlg').click(function(){
$(img).dialog({buttons: {'Ok':function(){
var value = $("#txt").val();
var http = value.substr(0,7);
alert(value);
$(this).dialog('close');
}}},
{ closeOnEscape:true, resizable:false, width:600, height:200
});
});
</script>
ボタンを(<input id="dlg" value="Open Dialog" type="button" />)
押すと、ダイアログボックスが表示され、テキストボックス入力フィールドが表示されます。テキストフィールドに値を入力すると、その値が警告されます。しかし、ボタンを2回または3回押して、ダイアログのテキストボックスに他の値を入力し、[OK]を押すと、初めて入力した値が警告されます。そのため、何度ボタンをクリックして値を入力しても、最初に入力した値にアラートが表示されます。
この方法でテキスト ボックスの値var value = $("#txt").val();
を正しく取得できますか? はいの場合、初めて入力した値が表示される理由を教えてください。
注: ブラウザのキャッシュを何度もクリアしたので、キャッシュの問題が発生する可能性はありません。