2 votes

Besoin d'aide pour rediriger le formulaire à l'envoi

J'ai besoin d'aide. Lorsque je soumets ce formulaire, je veux qu'il redirige automatiquement vers l'option de valeur (qui est l'url) dans la liste de sélection.

Ainsi, en appuyant sur soumettre pour Ahmedabad sélectionné dans la liste de sélection, il devrait être redirigé vers l'adresse suivante http://intranet.guj.nic.in/passport

Actuellement, il ne redirige pas. Quelle est la meilleure façon de le faire en utilisant du code javascript en ligne ?

<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>

8voto

techfoobar Points 33807

onsubmit est un événement de la <form> et non du bouton d'envoi.

Changez le code de votre formulaire en :

<form id="pass-form" onsubmit="window.location.href = 'newlocation'; return false;">
...
    <input type="submit" value="Submit" />
</form>

3voto

apebeast Points 358

Dans certains cas, vous devrez peut-être utiliser return pour s'assurer que la valeur de retour souhaitée est utilisée :

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

... more code here ...

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

Source : Comment passer un objet événement à une fonction en Javascript ?

1voto

codingbiz Points 15211

Changez le type = "submit" au bouton

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

Mise à jour

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

Il serait préférable de mettre cela dans une fonction et d'appeler la fonction à la place.

0voto

ijo Points 55
<form  id="pass-form" onsubmit="var sel = document.getElementById('pass-dropdown'); window.location = sel.options[sel.selectedIndex].value" >
    ...
    <input type="submit" />
</form>

Vous devez faire l'attribut submit à la balise de formulaire. Ensuite, cela devrait fonctionner. http://www.w3schools.com/jsref/event_form_onsubmit.asp

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X