2014-02-19 52 views
0

我有一個Java腳本,網頁獲取域名是這樣的:集JS變量作爲文本輸入值

<script> 
window.onload = function getDomain() 
{ 
var x = location.hostname; 
document.getElementById("domain").innerHTML=x; 
document.getElementById("Field25").value=x; 
} 
</script> 

,我有一個文本框,我需要的X是它的價值,這樣的:

<input id="Field25" name="Field25" type="url" class="field text medium" maxlength="255" tabindex="4" required /> 

其不工作 我該怎麼辦?

+1

如果將console.log(x)添加到代碼中(在函數的末尾),x等於什麼? –

+0

你正在收到什麼錯誤?在瀏覽器控制檯中輸入「document.getElementById(」domain「)'的輸出是什麼? – Vikram

回答

4

你正在告訴它將一個字符串「x」作爲field25的值。只需使用變量x。

document.getElementById("Field25").value = x;

擺脫window.onload。反正你的語法錯了。您正在嘗試使用

window.onload = function() { 
// Some code here 
}

您當前將window.onload重新定義爲getDomain()函數,然後從不調用getDomain()。

如果你完全擺脫了window.onload,代碼會做你想做的。

例子:http://jsfiddle.net/qLhn8/

旁白:這有可能是在window.onload沒有的jsfiddle的上下文中運行,所以你可能需要它畢竟。

+0

之前試過,也沒有工作 –

+0

@BacheRostam難道這個字段是在加載頁面之後加載的,或者是被別的東西重寫嗎?例如,使用AJAX加載字段,或使用JSF(暗示Java) – Goodwine

0

我不明白安靜,但如果你的意思是你想要的input#Field25有從x變量的值,仔細看,因爲你是分配字符串'x',從可變x

將代碼更新爲:

document.getElementById("Field25").value = x; 
+0

你的權利,這不是我的意思,我改變了它,但它也沒有工作 –