2010-04-01 6 views
0

J'ai une forme qui contient ce champ d'entrée unique, ce qui est rien de plus qu'un bouton pour imprimer la page Web actuelle:HTML javascript formulaire soumis lorsque le bouton d'entrée d'image

<div align="center"> 
<input type="image" src="../Images/print.jpg" value="Print" onclick="printpage();" /></div> 
</div> 

Après l'impression, la page re -submit lui-même (à lui-même). Pourquoi fait-il cela et puis-je l'arrêter?

Si je change juste le type à « entrée », ce code ne se soumettre à nouveau pas après l'impression:

<div align="center"> 
<input type="input" src="../Images/print.jpg" value="Print" onclick="printpage();" /></div> 
</div> 

Malheureusement, nos conventions de style me demander d'utiliser cette image bouton plutôt que l'entrée standard bouton.

+1

Si le bouton d'image n'a pas de fonctionnalité sans Javascript, puis écrire avec Javascript dans le document. – fuxia

Répondre

5

Remplacez le gestionnaire onclick par onclick="printpage(); return false;" - cela empêchera le bouton de faire quoi que ce soit d'autre que l'exécution du JavaScript.

+1

Il convient de mentionner que la * raison * que vous devez faire est qu'un élément d'entrée de type "image" est par défaut un bouton * submit *, et soumet donc le formulaire lorsque vous cliquez dessus. – Syntactic

3

ajouter 'return false;' à votre événement onclick:

onclick="printpage();return false;" 
0

Avez-vous essayé d'ajouter un

return false;

à la fin de votre code à cet effet

<input type="input" src="../Images/print.jpg" value="Print" onclick="printpage();return false;" /></div>