2012-08-31 86 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 ,所以你不能选择任何东西。

相关问题