2010-05-01 5 views
1

Puis-je transformer un lien par exemple <a href="#">submit</a> en un bouton soumettre pour un formulaire? Si c'est le cas, comment? J'utilise PHP, MySQL, XHTML et CSS.Soumettre question bouton

+5

Pourquoi ne pas utiliser un bouton de soumission? – kennytm

Répondre

2

Pas vrai.

Vous pouvez truquer avec JavaScript, mais cela viole Rule 2.

Vous pouvez utiliser CSS pour faire ressembler un bouton de soumission à un lien, mais ce n'est généralement pas une bonne idée (bien qu'il soit toujours préférable d'utiliser JS). Les utilisateurs s'attendent à ce que les boutons envoient des formulaires, et que les liens permettent d'aller quelque part. Violer les attentes est une mauvaise utilisation.

1

Avec javascript vous pouvez faire un onclick

En jquery:

$('theElement').click(function(){ 
// submit the form... 
}); 

Modifié: sur votre formulaire (j'ai écrit onclick!)

4

Vous pouvez appeler soumettre(). Comme:

<a href="#" onclick="document.getElementById('myForm').submit();">e</a> 

Ce qui est quelque chose que je ne recommanderais vraiment pas, mais c'est la réponse à votre question.

+1

@Francisco Soto: Oui, cela devrait fonctionner, mais notez que c'est contre les pratiques de javascript gênant :) – Sarfraz

+1

Oui, c'est ce que j'ai dit que je ne le recommanderais pas :), juste répondu à sa question. –

+0

hmm avez compris votre point. – Sarfraz

0

Vous pouvez utiliser jQuery pour les pratiques javascript discret et soumettre le formulaire:

<form id="form_id"> 
........... 
</form> 

<a href="#" id="submit_link">submit</a> 

jQuery:

$(function(){ 
    $('#submit_link').click(function(){ 
    $('#form_id').submit();  
    return false; 
    }); 
}); 
-2
<script language="javascript"> 
    function submitform() 
    { 
    document.form1.submit(); 
    } 
</script> 

<form name="form1"></form> 

<a href="javascript:submitform()">Submit</a> 
+0

Pourquoi les downvotes? Est-ce que cela ne répond pas à la question? –

-2

(TESTÉ SUR SAFARI et FF/OSX) Je n'ai pas de machine DOS à la maison.

La réponse à la question est Oui.

Voici comment vous coder en clair Javascript:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
     <title>Form Submit</title> 
     <script> 
     window.onload = function(){ 
      document.getElementById("linksubmit").onclick = function(){ 
      if(document.getElementById("foo").value != ''){ 
       document.forms[0].submit(); 
        return false; 
      }else{ 
       alert('Please fill in Foo'); 
      } 
      } 
     } 
     </script> 
    </head> 
    <body> 
    <form id="theform" action="index.html" method="post"> 
     <label for="foo">Foo</label> 
     <input type="text" name="foo" id="foo" /> 
     <a href="javascript:void(0);" id="linksubmit">Submit</a> 
    </form> 
    </body> 
    </html> 

Et ce que vous coderez avec jQuery:

$(document).ready(function(){ 
    $("#linksubmit").click(function(){ 
    if($("#foo").val()!=''){ 
    $("#theform").submit(); 
     return false; 
    }else{ 
     alert('Please fill in Foo'); 
    } 
    }); 
}); 

Il suffit d'utiliser ce morceau entre le script balises au lieu de premier exemple. N'oubliez pas d'ajouter le code source jQuery. Google a une version hébergée qui est bonne à utiliser: