2012-08-31 31 views
0

我是一個非常初學JavaScript的人,我想在用戶選擇一個表單的選項時,改變一個輸入值,然後將它提交給同一頁面。如何在提交使用javascript之前更改隱藏的輸入值?

這裏是HTML代碼:

<form id="form" action="thispage.jsp" method="post"> 
<input id="action_type" type="hidden" name="action_type" value="firstAction" /> 
<table class="choose"> 
    <tr> 
     <td>Choose your test</td> 
     <td><select id="select_test" name="test_name"> 
      <option value="test0"></option> 
      <option value="test1"></option> 
     </select></td> 
    </tr> 
</table> 

以及JavaScript函數:

form = document.getElementById("form"); 
action = document.getElementById("action_type"); 
select = document.getElementById("select_test"); 
select.onchange = function() { 
    action.setAttribute("value", "otherAction"); 
    form.submit(); 
} 

這將返回一個例外,什麼是錯的代碼?

+0

正在返回什麼異常? –

+0

正如我對費邊所說,這是來自org.apache.jsp.someGeneratedClass._jspService的NullPointerException – floribon

回答

1

它似乎不是JavaScript的問題,但與您的JSP代碼。嘗試調試代碼並檢查它失敗的位置。

1

我認爲表單沒有定義。嘗試在表單之前添加一個var。

+0

對不起,我的錯誤的實際來源是在這部分代碼中沒有。很遺憾,我只從org.apache.jsp.someGeneratedClass._jspService獲得NullPointerException,因爲它很難調試。不管怎麼說,還是要謝謝你。 – floribon

0

我認爲nullPointer顯示,因爲沒有選擇的選項。由於代碼上沒有任何innerHTML ,所以你不能選擇任何東西。

相關問題