2010-02-03 6 views
1

Je suis confronté à un problème dans le code suivant, Formulaire va soumettre lorsque j'appuie sur Entrée dans le champ de texte Mot-clé. il n'y a pas d'événement enter dans le script java. Cependant ce problème est happingSoumission automatique du formulaire

Mais lorsque je retire l'étiquette <form> il fonctionne très bien,

S'il vous plaît aider .. s'il y a une erreur

<form action="" method="post" id="businessSearchForm" name="businessSearchForm"> 
       <TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" HEIGHT="100%" WIDTH="100%" CLASS="searchproperty"> 
        <TR> 
         <TD ALIGN="left" COLSPAN="4" class="boldText">&nbsp;Business Search</TD> 
        </TR> 
        <TR> 
         <TD ALIGN="left" WIDTH="20%" class="boldText">&nbsp;Search For</TD> 
         <TD WIDTH="25%"><INPUT TYPE="radio" NAME="searchfor" VALUE="1" checked="checked">Product&nbsp;<INPUT TYPE="radio" NAME="searchfor" VALUE="2">Company</TD> 
         <TD ALIGN="left" WIDTH="20%" class="boldText">&nbsp;Business Type</TD> 
         <TD WIDTH="30%">&nbsp;<SELECT NAME="businessType" ID="businessType" CLASS="dropDown"></SELECT></TD> 
        </TR> 
       <TR> 
        <TD ALIGN="left" class="boldText">&nbsp;Country</TD> 
        <TD>&nbsp;<SELECT ID="country" NAME="country" CLASS="dropDown"></SELECT></TD> 
        <TD ALIGN="left" class="boldText">&nbsp;State</TD> 
        <TD>&nbsp;<SELECT ID="state" NAME="state" CLASS="dropDown"></SELECT></TD> 
       </TR> 
       <TR> 
        <TD ALIGN="left" class="boldText">&nbsp;Keywords&nbsp;<span class="mendotory">*</span></TD> 
        <TD COLSPAN="3">&nbsp;<INPUT TYPE="text" maxlength="40" SIZE="40" tabindex="1" name="keywords" id="keywords" value="">&nbsp;&nbsp;<INPUT TYPE="button" CLASS="btn" VALUE="Search" ONCLICK="javascript:processBusinessSearch();"/>&nbsp;<a href='#' onclick='javascript:clearBusinessSearch();' ><img src="images/clear.gif" border="0"></a>&nbsp;</TD> 
       </TR> 
      </TABLE>    
     </form> 

Répondre

1

Un autre cas du problème de "soumission de zone de texte unique" dans IE, voir cette question SO: "IE needs 2 textboxes to submit a button?". Une solution de contournement consiste à placer une autre zone de texte dans le formulaire avec un style de «affichage: aucun»; De cette façon, le bouton Entrée ne déclenchera pas l'événement de soumission. Ou, vous pouvez utiliser un peu de Javascript pour déclencher l'événement de soumission ... tout dépend de ce que vous voulez réaliser.

+0

Selon votre commentaire quand ajouter un champ de texte dans le formulaire fonctionne correctement. FORM/PAGE n'est pas soumis – Vicky

1

Quelque chose comme ça devrait le faire:

$("#keywords").keypress(function(e) { 
    // if 'enter' is pressed 
    if(e.which == 13) { 
     return false; 
    } 
}); 
+0

Bonjour je ne veux pas comment soumettre le formulaire, je fais face à un problème quand j'appuie sur entrer dans "mots-clés" forme de champ de texte va soumettre je ne veux pas que. Ce problème est avec tag

. Si je supprime tag ça marche bien – Vicky

+0

@Yashwant - J'ai mal compris la question. Donc, juste 'return false' à la place. J'ai édité ma réponse. – karim79

+0

J'ai besoin de trouver le problème pourquoi il se heurte plutôt que juste un correctif – Vicky

0

Essayez d'utiliser l'événement onsubmit sur le formulaire à la place:

<form onSubmit="return processBusinessSearch()" ... 
0
$("#keywords").keypress(function(e){ 
    if (e.which == 13) 
    $("#businessSearchForm").submit(); 
}); 
1

Je ne suis pas sûr que je l'ai interprété votre question, mais je crois que ce que vous êtes désireux est pour votre processBusinessSearch() fonction à appeler lorsque le formulaire est soumis, que l'utilisateur ait appuyé sur le bouton Soumettre ou sur Entrée.

Pour cela, jetez un oeil à l'événement submit - ajoutez un gestionnaire pour cet événement qui appelle votre fonction.

+0

+1 cela a plus de sens que ma réponse, je pense que j'ai mal compris la question. –

+0

Le code fonctionne correctement lorsque vous cliquez sur le bouton de recherche. Mais mon problème est la forme/page va soumettre quand j'appuie sur la touche Entrée dans les mots-clés textfiled. Lorsque je supprime la balise de mon code ci-dessus, cela fonctionne correctement, c'est-à-dire que FORM/Page ne sera pas envoyé sur la touche Entrée – Vicky

Questions connexes