一個功能我已經聲明瞭一個函數來顯示在jQuery的調用Javascript中
<script type="text/javascript">
function showDialog(str,strtitle)
{
if(!strtitle) strtitle='Error message';
$('#dialog').dialog('destroy');
$('#dialog').show();
$('#dialog').html(str);
$("#dialog").dialog({
resizable: false,
width: 400,
color: '#BF5E04',
open: function() {
$(this).parents(".ui-dialog:first").find(".ui-dialog
titlebar").addClass("ui-state-error");},
buttons: {"Ok": function() {
$(this).dialog("close"); }},
overlay: { opacity: 0.2, background: "cyan" },title:strtitle});}
</script>
一個對話框,我調用這個函數,在另一個javascript代碼:
<script type="text/javascript">
var myFile = document.getElementById('myfile');
//binds to onchange event of the input field
myFile.addEventListener('change', function() {
//this.files[0].size gets the size of your file.
var size = this.files[0].size;
document.write(showDialog('size','File Size Exceeds'));
});
</script>
當我執行函數,它寫入Undefined,爲什麼對話框沒有顯示。第一個功能是在頭部,第二個在身體部分。
它的寫入定義是因爲函數showDialog沒有返回任何東西。 document.write()不是必需的,只需調用showDialog()。 – Ivan 2012-04-04 15:47:46
您是否試過通過類似螢火蟲的方式運行它?並通過步進,順便說一句:你的第一個節的第13行 - 是該行打破存在於真正的代碼,還是你把它放在使它適合更加整齊? – 2012-04-04 15:49:23
@Ivan是正確的,只是一個加法:直到頁面加載您可能要推遲調用'showDialog':'$(的ShowDialog);'。 – DCoder 2012-04-04 15:49:56