Friday, May 10, 2024
 Popular · Latest · Hot · Upcoming
68
rated 0 times [  70] [ 2]  / answers: 1 / hits: 67620  / 8 Years ago, fri, february 5, 2016, 12:00:00

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>




More From » jquery

 Answers
5

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.


[#63427] Wednesday, February 3, 2016, 8 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
bobbie

Total Points: 262
Total Questions: 91
Total Answers: 102

Location: Bermuda
Member since Mon, Dec 5, 2022
1 Year ago
;