функция оповещения в JavaScript не работает

#javascript #forms #asp-classic #alert

#javascript #формы #asp-классический #предупреждение

Вопрос:

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

HTML:

 <form method="POST" action="vendorCheckDates.asp" name="Searchform" id="submit_Form">
    Select Type of Search: </b>
    <select size="1" name="Query" class="button">
        <option selected name="vNAME" value="vNAME"> Name</option>
        <option name="vNUM" value="vNUM"> Number</option>
        <option name="vEM" value="vEM">Email </option>
        <option name="vFAX" value="vFAX">Fax </option>
    </select>
    <b>:</b>
    <input type="text" name="hsearch" id="hsearch">
    <fieldset class="fieldset">
        <legend><strong>Type</strong></legend>
        <input type="radio" value="gov" name="tType" >Gov
        <input type="radio" value="gfos" name="tType">GFOS
    </fieldset>
    <input type="button" value="Search" name="hfind" Onclick="SubmitForm()">
</form>
 

Функция

 function SubmitForm() {
    var hsearch = document.all.submit_Form.hsearch.value;            
    var tType = document.getElementById('tType').value;            
    if ((hsearch = ! '') amp;amp; (hsearch = ! null)) {               
        if ((tType = ! '') amp;amp; (tType = ! null)) {
            document.all.submit_Form.submit();
        } else { alert("please select search type");}
    } else { alert("please write search criteria"); }
}
 

Когда я запускаю форму, поле hsearch пустое, но когда я нажимаю отправить, значение будет true, это странно, поскольку я до сих пор ничего не написал в поле ввода hsearch, поэтому часть sels в функции JavaScript не будет работать

Ответ №1:

Я думаю, вы используете неправильный оператор. это должно быть

  if ((hsearch != '') amp;amp; (hsearch != null)) {               
        if ((tType != '') amp;amp; (tType != null)) {
 

Ответ №2:

Вы должны написать hsearch != '' вместо hsearch = ! '' .

То, что вы делаете, — это не проверка значения, а присвоение значения, которое возвращает true.

 hsearch = ! ''
=> hsearch = !''
=> hsearch = true
=> true
 

Ответ №3:

Вместо:

 var hsearch = document.all.submit_Form.hsearch.value; 
 

Попробуйте:

 var hsearch = document.getElementById('hsearch').value; 
 

Вы всегда можете отладить значение, поставив alert лайк:

 alert(hsearch)