Issue
Say I've a simple form
and I want to check whether form
has changed or not. If its changed submit
it else prevent form submission, so I used return and instead of using if-else
statement I tried to use ternary operation
but unfortunately I was hit with error Uncaught SyntaxError: Unexpected token return
but I did not understand why this error? Is ternary operation only used to assign? Not sure on this part. Below is just a sample of what I was trying to do.
var form_original_data = $("#frmProfile").serialize();
$("#frmProfile").on('submit', function(e) {
e.preventDefault();
$("#frmProfile").serialize() != form_original_data ? $("body").append('changed') : return;
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="frmProfile">
<input type="text" value="name" />
<input type="submit" value="Go" />
</form>
Solution
The ternary operator evaluates to an expression and expressions can't contain a return statement (how would that behave if you were to assign the expression to a variable?). However, you could very well return the result of a ternary operator, i.e. return condition? returnValue1 : returnValue2;
On your specific point, I don't see why you would like to return. It looks like you're trying to do something only if a condition is fulfilled. A simple if
statement would probably be more adequate there.
Answered By - Aaron Answer Checked By - Terry (PHPFixing Volunteer)
0 Comments:
Post a Comment
Note: Only a member of this blog may post a comment.