У меня есть одна страница с двумя формами, но пока показывается только одна. Идея заключается в том, что потребитель выбирает определенное состояние из выпадающего меню, он либо перенаправляет их на страницу благодарности, либо вторую форму, когда они нажимают кнопку отправки.
Вот моя форма:
<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, но я надеюсь избежать этого, поскольку это сделает мой документ намного дольше.
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'] ) )