2012-05-21 58 views
0

使用jQuery-UI對話框從用戶獲取一些輸入。
按下Esc鍵時,對話框關閉而不清除其字段。點擊SaveCancel時,字段被清除。
這很好,除了我爲某些字段使用水印文本框,並且我不希望它們像其他字段一樣清除。重用jQuery UI對話框將清除其所有字段

我是否應該更改清除字段的代碼(我似乎無法找到它...)?
每次打開對話框之前,我應該初始化水印文本框嗎?

對話框javacript:

$(function() { 
    $("#GetSomeData").dialog({ 
    autoOpen: false, 
    modal: true, 
    resizable: false, 
    width: "550px", 
    buttons: { 
     "Save": function() { 
      // saving data to DB 
      $(this).dialog("close"); 
     }, 
     "Cancel": function() { 
      $(this).dialog("close"); 
     } 
    } 
}); 

});

+0

你使用什麼水印插件? –

+0

我正在使用http://jquery-watermark.googlecode.com/ – toy4fun

回答

0

初始化水印一次,並在每次打開時克隆對話內容。

$(function() { 
    // init watermark for #GetSomeData here 

    var dialog = $("#GetSomeData").clone().appendTo('body').dialog({ 
     autoOpen: false, 
     modal: true, 
     resizable: false, 
     width: "550px", 
     buttons: { 
      "Save": function() { 
       // saving data to DB 
       dialog.dialog("destroy").remove(); 
      }, 
      "Cancel": function() { 
       dialog.dialog("destroy").remove(); 
      } 
     } 
    }); 
}); 
+0

這破壞了每次重建對話框,是不是這個資源消耗?你知道在jQuery代碼裏清除字段的位置嗎?也許我可以稍微改變一下。 – toy4fun

+0

按ESC並調用'close()'會得到不同的結果很奇怪。你可以使用這個水印嗎? https://github.com/parndt/jquery-html5-placeholder-shim這裏是我的網站上的一個例子:http://the.deerchao.net/PlaceHolder – deerchao

+0

我已經插入水印init func作爲你的建議和現在他們顯示正確。仍然我很困惑對話如何清除。 – toy4fun