2009-07-30 2 views
0

Une page HTML est créée à l'aide de JSF et de facelets (xhtml). Il y a 2 h: les formes qui vont à différents endroits. L'utilisateur entre des données sur un formulaire et appuie sur la touche "Entrée". Voici où il devient difficile. Sur IE 6 et plus, soit l'action forms est soumise (ce qui pointe généralement vers la page sur laquelle vous vous trouvez) qui recharge la page, soit le premier h: commandbutton/link qui se trouve sur la page. C'est totalement aléatoire, mais c'est cohérent sur cette page.Action par défaut sur les pages JSF (c'est-à-dire en appuyant sur Entrée dans les champs de saisie)

Voici ce que j'ai essayé, j'ai essayé de placer les composants qui doivent être soumis dans leur propre forme ... ça marche mais pas partout. Puis j'ai essayé de créer une entrée cachée avec l'identifiant du bouton, cela fonctionne assez bien, mais il est ensuite contourné par IE essayant d'invoquer le premier bouton de la page. J'ai essayé un produit appelé j4j qui est censé créer une action par défaut, mais cela ne fonctionne pas, produisant le tag lui-même dans le HTML rendu. Quand cela fonctionne, il crée javascript, il cherche la clé 13, puis invoque oamsubmit (...., ce qui incidemment j'ai essayé avec plus ou moins de succès.)

Y at-il une solution qui fonctionne de façon permanente? J'ai raté quelque chose ou que je ne comprenais pas JSF?

Répondre

0

question très semblable à this

Ce n'est pas un problème de JSF autant qu'une norme HTML/question Javascript.

+0

Pouvez-vous préciser? Depuis son JSF créer la balise de formulaire avec l'action pointant vers la même page, et le javascript étendu pour gérer l'envoi d'un formulaire. – Gerrie

+0

Je veux dire que c'est le même problème que d'obtenir JavaScript non-JSF pour cliquer sur un bouton de soumission. – Damo

2

Voici comment je l'ai résolu en JSF (il suffit de l'ajouter à votre formulaire h):

<h:inputText id="StackOverflow1205114" value="Fix IE bug" style="{display:none}" /> 

qui va créer la sortie à ceci:

<input id="_id3:StackOverflow1205114" type="text" name="_id3:StackOverflow1205114" value="Fix IE bug" style="{display:none}" /> 
+0

J'ai couru dans ceci plusieurs fois. – JeffJak

+0

Quel est le bug que cela corrige, et comment? –

+0

Obtenir la clé d'entrée pour travailler sur le formulaire dans IE – JeffJak

Questions connexes