11521 sujets

JavaScript, DOM et API Web HTML5

Bonjour les amis,

M'intéressant à ce jour a la librairie Prototype de javascript et plus précisément l'une de ces nombreuse fonction, je me pose à un petit souci

M'inspirant de la fonction suivante "submit_to_remote" de prototype:

 
function submit_to_remote($name, $value, $options = array(), $options_html = array())
  {
    $options = _parse_attributes($options);
    $options_html = _parse_attributes($options_html);
 
    if (!isset($options['with']))
    {
      $options['with'] = 'Form.serialize(this.form)';
    }
 
    $options_html['type'] = 'button';
    $options_html['onclick'] = remote_function($options).' return false;';
    $options_html['name'] = $name;
    $options_html['value'] = $value;
 
    return tag('input', $options_html, false);
  }

pour exécuter une action AJAX sur l'événement onClick d'un bouton:

la fonction suivante renvoie un input button, donc au click sur le bouton enlèvement onClick sur ce bouton actionne l'action ajax, nous somme d'accord.
Mais ma question est la suivante

Ou est désactiver la soumission du formulaire lors de l'événement à la touche entrée?

Car m'étant servi de la fonction ci-dessus pour m'en créer une personnelle, quand je clique sur le bouton mon action ajax fonctionne merveilleusement bien, mais quand je clique sur la touche entrée j'ai toujours une soumission du formulaire avec un rechargement de page et non en ajax.

Voila mon input perso qui fonctionne:
<input type="button" onclick="$.ajax({url: '/resetting/send-email',
  cache: false,
  type: 'POST',data: $(this.form).serialize(),success: function(data){$('#reset_password').html(data);},error: function() { alert('Impossible de charger la requête Ajax'); }
});
return false;" value="Réinitialiser le mot de passe" class="">


Une idée les amis

Merci à tous
Pour desactiver la soumission d'un formulaire via la touche Entrée c'est simple.

$('monForm').bind('submit', function(e) {
  e.preventDefault();
});