2015-05-19 30 views
6

come differenziare tra i javascript attivato presentare e cliccando manualmente forma presentare
codice di esempio riportato di seguitocome differenziare tra i javascript presentare e facendo clic manualmente presentare

function myfunction() 
{ 
    document.getElementById("id_searchform").submit(); 
    return true; 
} 

forma:

<div class='row'> 
    <div class='col-md-4'> 
     <div class='clszipcode' ><span>Enter Zipcode</span></div> 
    </div> 
    <div class='col-md-4'> 
     <div class='clstxtzipcode' ><input type="text" name="zip_code" id="txtZipcode"></div> 
    </div> 
    <div class='col-md-4'> 
     <div class='clsbtnzip' ><input type="submit" name="submit" id="btnSearch" value="Search" class="button_example" ></div> 
    </div> 
</div> 
<a href="#" onclick="return myfunction();" >click to submit</a> 
+1

Si sa quando la mia funzione è invocata è javascript attivato submit. – Riddler

+0

prendere un input nascosto e fornire un valore diverso con javascript submit. cioè '' in javascript set '... submittype.value = 'js'' –

+0

se allego un evento onclick su chiamerà myfunction() e validate() – srinidhi

risposta

1

Vediamo se Comprendo:

  1. Si desidera rilevare w se l'utente ha fatto clic sul link per inviare il modulo.
  2. Si desidera rilevare se l'utente ha fatto clic sul pulsante di invio per inviare il modulo.
  3. Hai un'altra funzione chiamata validate() che utilizzerà queste informazioni in qualche modo.

In questo caso, considerare l'utilizzo di una variabile per memorizzare se il collegamento è stato fatto clic prima di attivare il modulo da inviare.

  1. inizializzazione variabile globale wasClicked-false
  2. Quando link viene cliccato impostato wasClicked a true
  3. forma trigger presentare dopo wasClicked è impostato.
  4. Run validate() se il modulo è presentato
  5. check if(wasClicked){...} in validate()

Ecco un Working Example

+0

E a proposito, quando JS non è abilitato nel browser, l'evento onsubmit non si innescherà. Quindi il modulo non è inquinato con un input nascosto per questo caso. – EtienneWan