J'ai un template Html avec un formulaire à l'intérieur.Exécute la fonction Django juste quand javascript est dissous
<form id="my_form" method="post" action="/register/">
<input id="cemail" name="email" size="25" class="textbox required email" style="width: 250px"> <br><br>
<input id="csubmit" type="submit" onclick="Clicked();" value="Send" />
J'ai aussi un code pour JQuery test si l'e-mail introduit est correct:
<script type="text/javascript" src="/js/jquery.validate.js"></script>
<script>
function Clicked() {
$("#my_form").validate().form();
value = $("#cemail").val();
alert("ufffff");
$.get("/exists/", {email: value}, function(data) {
$('#text')[0].innerHTML=data;
});
}
</script>
Jusqu'à ici tout est ok. Mon problème apparaît quand j'exécute le programme. Toujours l'action = "/ register" est lancée, et je ne veux pas qu'elle se produise. Je voudrais que:
Si jquery est désactivée sur le navigateur client, exécutez l'action que le formulaire a. Si jquery est activé sur le navigateur client, exécutez simplement la fonction "Clicked()" et non l'action du formulaire ("/ register /" -> appelle la fonction django)
Est-ce que quelqu'un m'aide à faire ça? C'est possible?
duplication possible de http://stackoverflow.com/questions/121203/how-to-detect-if-javascript-is-disabled –
Vous pouvez simplement faire 'onclick =" Clicked(); return false; "' - - mais une meilleure approche serait de déplacer vos liaisons et les fonctions suivantes vers un JS externe. – ahren
@ahren Je l'ai fait, mais l'action de formulaire est toujours en cours de lancement. Si je mets return false je ne veux pas que l'action du formulaire soit lancée – Raulsc