<script> function urlencode(str) { return escape(str).replace('+', '%2B').replace('%20', '+').replace('*', '%2A').replace('/', '%2F').replace('@', '%40'); } $('input#q').keyup(function(e) { if(e.keyCode == 13) { if($('input#q').val().length > 2) { $('input#q').val() = urlencode($('input#q').val()); document.search_form.submit(); } } }); $('input#search').click(function() { if($('input#q').val().length > 2) { $('input#q').val() = urlencode($('input#q').val()); document.search_form.submit(); } }); </script>
when i click the search button i get the following error : "Uncaught ReferenceError: Invalid left-hand side in assignment" But the code is actually the same as when i press "enter". Can someone explain?
The "Invalid left-hand side in assignment" error occurs when we have a syntax error in our JavaScript code. The most common cause is using a single equal sign instead of double or triple equals in a conditional statement. To solve this, make sure to correct any syntax errors in your code.
A single “=” sign instead of “==” or “===” is an Invalid assignment. Cause of the error: There may be a misunderstanding between the assignment operator and a comparison operator.
The "Assignment to constant variable" error occurs when trying to reassign or redeclare a variable declared using the const keyword. When a variable is declared using const , it can't be reassigned or redeclared.
You can't assign a new value to the result of a function
$('input#q').val() = urlencode($('input#q').val());
Use this instead:
$('input#q').val(urlencode($('input#q').val()))
It wouldn't work with the keypress either - maybe the page is simply submitted after the same js error occurs.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With