2

我需要帮助。当我提交此表单时,我希望它自动重定向到选择列表中的值选项(即 url)。

因此,在选择列表中选择的艾哈迈达巴德按下提交时,它应该重定向到http://intranet.guj.nic.in/passport

目前它没有重定向。使用内联 javascript 代码的最佳方法是什么?

<html><body>
<form  id="pass-form" >
<select id="pass-dropdown" ><option selected="selected">Select Passport Office
for Status page </option><option value="http://intranet.guj.nic.in/passport/">Ahemadabad
</option><option value="http://passportstatus.nic.in/passmain.php?city=asr">Amritsar
</option><option value="http://rpobangalore.gov.in/npassport.asp">Bangalore
</option><option value="http://passportstatus.nic.in/passmain.php?city=bly">Bareilly
</option></select>
<input type="submit"  onsubmit="var sel = document.getElementById('pass-dropdown'); window.location = sel.options[sel.selectedIndex].value" />
</form>
</body>
</html>
4

4 回答 4

8

onsubmit<form>元素的事件,而不是提交按钮的事件。

将您的表单代码更改为:

<form id="pass-form" onsubmit="window.location.href = 'newlocation'; return false;">
...
    <input type="submit" value="Submit" />
</form>
于 2013-01-05T10:57:09.293 回答
3

在某些情况下,您可能必须使用return来确保使用所需的返回值:

<form onsubmit="return redirectMe();">
  <input placeholder="Search" type="text">
</form>

... more code here ...

function redirectMe() {
  window.location.replace("http://stackoverflow.com");
  return false;
}

来源:如何将事件对象传递给 Javascript 中的函数?

于 2016-01-21T23:27:16.173 回答
1

更改type = "submit"为按钮

<input type="button" onclick="var sel = document.getElementById('pass-dropdown'); window.location = sel.options[sel.selectedIndex].value" />

更新

<input type="button" onclick="var sel = document.getElementById('pass-dropdown'); 
       var frm = document.getElementById("pass-form"); frm.action = sel; frm.submit();" />

如果你把它放在一个函数中并调用这个函数会更好

于 2013-01-05T10:53:05.350 回答
0
<form  id="pass-form" onsubmit="var sel = document.getElementById('pass-dropdown'); window.location = sel.options[sel.selectedIndex].value" >
    ...
    <input type="submit" />
</form>

您必须对表单标签执行提交属性。然后它应该工作。 http://www.w3schools.com/jsref/event_form_onsubmit.asp

于 2013-01-05T11:01:35.233 回答