2011-05-30 2 views
0

Je suis nouveau à javascript et je suis un peu confus au sujet de la syntaxe.retourner la valeur en javascript

function validateForm() 
{ 
var x=document.forms["myForm"]["fname"].value 
if (x==null || x=="") 
    { 
    alert("First name must be filled out"); 
    return false; 
    } 
} 

<form name="myForm" action="demo_form.asp" onsubmit="return validateForm()" method="post"> 
First name: <input type="text" name="fname"> 
<input type="submit" value="Submit"> 
</form> 

Ma question est de savoir si j'écris onsubmit = "return valideFormulaire()" ou écrire onsubmit = "valideFormulaire()". Quelle est la différence entre ces deux syntaxes. Donc, j'ai soumis avant juste un exemple.

Ici, il est par exemple

Event = function(); ou Event = return function();

Quelle est la différence entre ces deux syntaxe

+0

La différence est que cette dernière n'a aucun sens et/ou est invalide. Avez-vous plus de contexte pour cela? – deceze

Répondre

1

onsubmit="validateForm()" appelle simplement la fonction et tout ce qui est renvoyé est perdu et n'a aucun effet. Mais dans onsubmit="return validateForm()" la valeur retournée est retournée à nouveau et si faux ne soumettra pas le formulaire et si vrai continuera le processus d'envoi. Vous pouvez donc l'utiliser comme:

function check() 
{ 
    if(document.getElementByName("fname").value == ""){ 
     return(false); //Do not submit the form 
    } 
    return(true); //Submit the forum 
} 

<form name="myForm" action="demo_form.asp" onsubmit="return(check());" method="post"> 
First name: <input type="text" name="fname"> 
<input type="submit" value="Submit"> 
</form> 
2

Ils sont tous les deux invalides. L'instruction return doit être utilisée dans une fonction. L'expression suivante une déclaration return est ce qui sera de retour de la fonction, donc:

function foo() { 
    return 1234; 
} 

foo(); // => 1234 

Si vous souhaitez affecter une fonction à l'identifiant Event, alors vous le faire comme ceci:

Event = function() { 
    // function body (what do you want the function to do?) 
}; 
+0

Ce n'est pas le code exact. Je demande juste la différence entre ces syntaxes. C'est juste pseudo code –

+0

Voir ma réponse pour pourquoi (posté dans quelques secondes) Je pense que c'est faux – Jonathon

+0

L'OP a ajouté tout un tas de code à la question (une édition en retard) ... rendant ma réponse apparemment inappropriée. – James

Questions connexes