2010-09-23 7 views
0

J'ai une page de formulaire où j'ai un bouton de retour et un bouton d'impression à la fois en haut et en bas de la page (codé en javascript). Le bouton de retour en bas de la page ne fonctionne pas dans Internet Explorer alors que le bouton du haut et les deux boutons d'impression fonctionnent bien. Le bloc de code est le même pour les deux boutons de retour. En outre, tous les boutons fonctionnent bien dans Mozilla Firefox et Google Chrome. Pour référence les codes pour le bouton retour vont comme cecibouton retour ne fonctionne pas dans Internet Explorer, fonctionne bien dans mozilla firefox et google chrome

<html:submit onclick="javascript:document.forms[0].action.value='back';" > 
<fmt:message key="form.button.back"/> 
</html:submit> 

Toute aide appréciée.

+0

Qu'est-ce que c'est? Cela ne ressemble pas à du HTML? Est-ce une sorte de langage de transformation? Qu'est-ce que vous utilisez pour construire ce code? – x0n

+0

c'est une page JSP dans le framework Struts. form.button.back est défini dans le fichier de propriétés, donc cela fonctionne bien. – mona

+0

Sont-ils tous les deux dans le même élément de formulaire (le premier dans la page)? Le formulaire doit être soumis avant d'avoir un effet, donc un clic sur un tel bouton en dehors du premier formulaire n'aura aucun effet. Notez également que vous ne devez pas utiliser l'étiquette 'javascript:' sans signification, et si vous devez appeler le champ 'action', il vaut mieux l'utiliser comme' someform.elements.action' (ou par 'getElementById') pour éviter toute confusion avec la propriété 'form.action'. – bobince

Répondre

0

Document.forms n'est plus la norme W3C.

Voir w3c document.forms[0].fieldname equivalent

Assurez-vous également que votre champ d'entrée a un type et champ de nom avec des valeurs appropriées.

« En d'autres termes, il n'y a pas de telle propriété que document.forms [0] .action.value sauf si vous avez un élément avec un ID de « action » sur votre page, et que Eric a affiché, ce qui est ce n'est pas une bonne idée."

Voir http://forums.asp.net/p/1354778/2775719.aspx

Quoi qu'il en soit, je ne pense pas que la question ici. Si j'essaie de reproduire le scénario, je n'obtiens aucune action de retour dans mon navigateur. C'est parce que si vous changez la valeur d'un formulaire d'entrée, il va juste changer le texte que le bouton affiche réellement dans le navigateur à la chaîne «retour».

Si vous voulez vraiment le navigateur pour surfer dans l'histoire de la navigation, vous devez coder comme ceci:

Dans la propriété « d'action » d'un formulaire de saisie de type soumettre, vous définissez habituellement un côté serveur script qui recevra les valeurs des champs de texte du formulaire que l'utilisateur a rempli.

<form> 
    <input id="myID" name="myNam" action="serve.php" value="myVal" type="submit"> 
</form> 
+0

Il est cependant toujours supporté par pratiquement tous les navigateurs. – BalusC

+0

Ainsi sont les tables et les framesets. – nottinhill

Questions connexes