Wie rufen Sie die Funktion auf text-Eingabe-enter-Taste gedrückt?

Habe ich einen div in einer Tabelle format, das ich verwende, um Daten zu filtern Optionen.
Ich habe Probleme mit dem Druck geben Sie in das Textfeld. Wenn ich drücken Sie die EINGABETASTE, wird die Warnung angezeigt, aber die Seite nur neu geladen und nicht richtig gefiltert mit einer der Optionen. Kann jemand mir erklären, was Los ist?

Bitte lassen Sie mich wissen, wenn ich unklar war oder irgendwas erklären zu müssen!

Dies ist, was mein filter option bar aussieht:

Wie rufen Sie die Funktion auf text-Eingabe-enter-Taste gedrückt?

HTML:

<form name="myform">

   <center><table id="mykeyTable" border="1" cellspacing="10" cellpadding="10">
   <center></center>

</td>


<!--Search bar -->
   <tr>
    <td colspan="4">
    <center>
      <form>
        Starts With: <input type="text" id="myText" value=""><br>
      </form>
    </center>
   </tr>

<!-- Site Options -->
  <td><center>Site</center><br>
                  <input type="radio" name="siteID" onclick="updateSiteID(this.value)" value="Asc"checked>
                  <input type ='button' id='siteIDChosen' class='button-addAsc'/>
              <br>
                  <input type="radio" name="siteID" onclick="updateSiteID(this.value)" value="Desc" >
                  <input type ='button' id='siteIDChosen' class='button-addDesc'/>
              <br>
         </input>
     </form></td>

<!-- Status options -->

    <td><center>Status
   <br><br></center><input type="radio" name="siteStatus" onclick="updateSiteStatus(this.value)"value="Online"> Online<br><input type="radio" name="siteStatus" onclick="up\
dateSiteStatus(this.value)" value="Offline"> Offline<br><input type="radio" name="siteStatus" onclick="updateSiteStatus(this.value)" value="Both" checked> Both </form></td\
>



<!-- usage plan -->
   <td><center>Usage Plan (in MB)</center>
<br><input type="radio" name="usagePlan" onclick="updateUsagePlan(this.value)" value="yesUsagePlan"> Data Plan<br><input type="radio" name="usagePlan" onclick="updateUsage\
Plan(this.value)" value="noUsagePlan"> No Data Plan<br><input type="radio" name ="usagePlan" onclick="updateUsagePlan(this.value)" value="bothUsagePlan" checked> All Plans\
</form></td>



     </table>
<br>
<form><input type='button' id='filter' name='Submit' onclick='validate()' class='button-add' value=" Filter Selections"/></form>

</center>

</form>
</div>

Javascript:

<script>


$("#myText").keypress(function(event) {
    if (event.which == 13) {
      alert("You pressed enter");
     validate();

    }
});



$(document).keypress(function(event){
    if(event.keyCode == 13){

        validate();
    }
});




function validate() {
//...
}

</script>

GELÖST:

Ich verwendet jQuery click-to-call die gleiche Funktion wie die Taste.

$(document).keypress(function(event){
    if(event.keyCode == 13){
     $('#filter').click();
      // validate(); doesn't need to be called from here
    }
});
Deine Lösung funktioniert nur, wenn ich geben Sie auf dem Beleg, aber wenn ich den Fokus in inputText und drücken Sie die EINGABETASTE, überschreibt es die '$('#filter').klicken Sie auf ()' - Methode, und rufen Sie alle anderen verfügbaren Methoden im Skript. keine Ahnung, was ist das Problem??

InformationsquelleAutor MadsterMaddness | 2014-11-04

Schreibe einen Kommentar