Отправить действие кнопки в зависимости от того, совпадает ли поле с другой формой

У меня есть одна страница с двумя формами, но пока показывается только одна. Идея заключается в том, что потребитель выбирает определенное состояние из выпадающего меню, он либо перенаправляет их на страницу благодарности, либо вторую форму, когда они нажимают кнопку отправки.

Вот моя форма:

<form action="capture_redirect.php" method="post"> <select placeholder="State" name="_State" id="state" required/> <input type="submit" id="submit" value="Check Eligibility"> 

Javascript:

 <script type="text/javascript"> function submit { if(document.getElementById(state) = 'AZ', 'AR', 'CA') { location.href = "home.php"; } else { location.href = "capture_redirect.php"; } } </script> 

Я уверен, что я где-то ошибся, но я не могу понять это. Прямо сейчас, когда потребитель нажимает кнопку отправки, он перенаправляет их на страницу благодарности или обратно в форму.

Я видел примеры, где каждое отдельное состояние отображается с его собственными операциями if / else, но я надеюсь избежать этого, поскольку это сделает мой документ намного дольше.

Solutions Collecting From Web of "Отправить действие кнопки в зависимости от того, совпадает ли поле с другой формой"

1. = используется для назначения не для сравнения, поэтому используйте == вместо него.

2. Также нарушите свое состояние на три части, как показано ниже.

3.Вы забыли '' также, вокруг state в своем состоянии: –

 if(document.getElementById('state').value == 'AZ' || document.getElementById('state').value == 'AR' || document.getElementById('state').value == 'CA'){.......}else{.....} 

Или более эффективный способ сделать это: –

 if( ['AZ', 'AR', 'CA'].indexOf( document.getElementById('state').value) ) 

4. Вместо location.href используйте window.location.href

Для этого используйте value и массив.

 if( ['AZ', 'AR', 'CA'].indexOf( document.getElementById('state').value) ) 

Или в jQuery вы можете использовать jQuery.inArray() .

 if( $.inArray($('#state').val(), ['AZ', 'AR', 'CA'] ) )