2017-07-07 101 views
-3

我想顯示的HTML表單文本框 「東西」這個值應該是一個javascript變量HTML表單值= JavaScript變量

var paramvalue = "something" 
 
document.getElementById("client_id").value = paramvalue
<form action="login.php" method="post"> 
 
     <input type="hidden" name="clientID" id="client_id" value="" /> 
 
     <button>Login</button> 
 
</form>

+3

什麼是你的問題? –

+0

'VAR文本=的document.getElementById( '的client_id');','然後= textbox.value'paramvalue';'將設置值,就像你所做的一切。輸入類型被設置爲隱藏,所以你實際上不會看到你不知道的表單字段。如果你想讓它可見'type ='text'' – clearshot66

+0

你在輸入文本框中輸入= hidden。要顯示文本框,您需要將其刪除。另外,請確保腳本在HTML之後,因爲您沒有設置onload值。 –

回答

-1
var textbox = document.getElementById('client_id');, 

然後

textbox.value = paramvalue; 

會工作。

你的問題是你有type='hidden',它應該是type='text',因爲隱藏不可見。您還需要將其更改爲運行onload,以便在頁面加載時替換該值。

<script type="text/javascript"> 
    function init(){ 
     var paramvalue = "something" 
     document.getElementById("client_id").value = paramvalue 
    } 
    body.addEventListener("load", init); 
</script> 



    <form action="login.php" method="post"> 
      <input type="text" name="clientID" id="client_id" value="" /> 
      <button>Login</button> 
    </form> 

或者,你可以保持你的代碼,改變input type = "text",只是將你的HTML代碼/表下方的腳本,否定了JS功能的需要和事件偵聽器

用戶也可以這樣做:

<input type="text" name="clientID" id="client_id" value="" onload="init()" /> 
+0

請解釋爲何分離'VAR textbox'和'textbox.value'有什麼差別,爲什麼這不能用'工種=「隱藏」'。另外,'init()'不是如何將函數引用作爲事件偵聽器傳遞的方式。 – Xufox

+0

只是爲了展示過程。如果有人願意,可以改變它,但無論哪種方式都行得通,所以這不是一個有效的擔憂。其次,它正是如何在頁面加載函數時添加事件偵聽器的。 – clearshot66

+0

不,不,不。首先,您將介紹兩個不需要的步驟,它們不會解決實際問題,因爲它們不會改變任何有關代碼功能的內容。其次,'init()'_immediately調用函數並將undefined作爲事件監聽器傳遞。這是_not_你如何分配事件監聽器。至少你糾正了這一點。 – Xufox

0

你必須把劇本後, HTML,因爲它運行時,輸入字段還不存在,所以它會返回一個錯誤。

<form action="login.php" method="post"> 
    <input type="hidden" name="clientID" id="client_id" value="" /> 
    <button>Login</button> 
</form> 
<script type="text/javascript"> 
    var paramvalue = "something"; 
    document.getElementById("client_id").value = paramvalue; 
</script> 
+0

'ID =「的client_id」'已經存在。 – Xufox

+0

哦,哈哈..沒看出來;)我是一個手機屏幕上,所以我必須橫向滾動看出> _ < –

+0

完成..我糾正它。解決的辦法是把腳本放在HTML –