我正在自定義Denis Gritcyuk的Popup date picker。將內聯代碼移入功能,並生成對象名稱
此彈出式腳本使用內聯JavaScript在
href
鏈接,選定的日期設置爲input
場,在父窗口,即是呼籲。一個例子URL看起來像:<a href="javascript:window.opener.document.formname.field.value='03-10-2011'; window.close();">3</a>
輸入字段名稱,(例如
document.formname.field
),被傳遞到腳本作爲字符串參數。
我想單擊鏈接時添加的內容(例如更改字段的背景顏色,設置標誌等)。所以,雖然這樣做,但它很快就會變得很難看。
<a href="javascript:window.opener.document.formname.field.value='03-10-2011';
window.opener.document.formname.field.style.backgroundColor='#FFB6C1';
window.close();">3</a>
我將如何將這些內嵌命令插入JS功能?這會給我更清潔的網址和代碼。該URL現在看起來像
<a href="javascript:updateField ('document.formname.field', '03-10-2011');">3</a>
與喜歡(這個例子顯然是行不通的)功能:
function updateField (str_target, str_datetime) {
var fieldName = "window.opener" + str_target;
[fieldName].value = str_datetime;
[fieldName].style.backgroundColor = '#FFB6C1';
// Set flag, etc.
window.close();
}
那麼如何可以做到這一點有什麼建議嗎?
我發現你的解決方案非常可讀和優雅。唯一的問題是我無法實現它的工作。當我按下鏈接時,沒有任何事情發生。我很確定這個函數沒有被調用,因爲我在那裏放了一個警報。 3 –
@ ShmuelA.Kam:使用console.log而不是alert。它更加用戶友好。 – hugomg
現在工作,只需稍作更改。最欣賞它。 –