Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果用户离开用文本填充的下拉列表,则表单验证_Javascript - Fatal编程技术网

Javascript 如果用户离开用文本填充的下拉列表,则表单验证

Javascript 如果用户离开用文本填充的下拉列表,则表单验证,javascript,Javascript,我有一个页面,如果用户在框中留下信息,我需要弹出一条错误消息 用户从销售下拉列表中选择“是”,并从新产品下拉列表中选择价格(例如10英镑)。然后,他们将销售下拉列表改为“否”,但保留价格(10英镑),并将此信息提交到数据库 当用户在“销售”下拉列表中选择“否”时,我如何添加代码来警告用户他们留下了价格(10英镑) <form name="test" onsubmit="return validateForm()" method="POST"> <table

我有一个页面,如果用户在框中留下信息,我需要弹出一条错误消息

用户从销售下拉列表中选择“是”,并从新产品下拉列表中选择价格(例如10英镑)。然后,他们将销售下拉列表改为“否”,但保留价格(10英镑),并将此信息提交到数据库

当用户在“销售”下拉列表中选择“否”时,我如何添加代码来警告用户他们留下了价格(10英镑)

<form name="test" onsubmit="return validateForm()" method="POST">
          <table width="716">

    <input name="CallType2" type="hidden" id="CallType2" value="Unfulfilled Sales"/></td>
</tr><tr>
  <td style="text-align: left;">Mobile Number: </td>
  <td colspan="2" style="text-align: left;"><input name="MobileNumber" type="text" id="MobileNumber" maxlength="11" /></td>
</tr>

<tr>
  <td style="text-align: left;">Sale:</td>
  <td colspan="2" style="text-align: left;"><select name="Sale" id="Sale" onchange="display(this,'Yes','No');" >
    <option value=""></option>
    <option value="No">No</option>
    <option value="Yes">Yes</option>
  </select>  </td>
</tr>
<tbody id="Yes" style="display: none;">
      <tr>
        <td class="title"><div align="left">New Product:</div></td>
        <td colspan="2" class="field">
          <div align="left">
            <label>
                        <select name="SaleProduct" id="SaleProduct">
                                 <option value=""></option>
            <option value="£10">£10</option>
            <option value="£6.50">£6.50</option>


          </select>            </label>
          </div></td>
      </tr>

 <tr>
         </p>
        </div></td>
      </tr> 
          <tbody id="No" style="display: none;">
      <tr>
        <td class="title"><div align="left">Non Sale Reason:</div></td>
        <td colspan="2" class="field">
          <div align="left">
            <label>
                        <span style="text-align: left;">
                        <select name="CancelReason" id="CancelReason">
                          <option value=""></option>
                          <option value="Account changes incomplete">Account changes incomplete</option>
                          <option value="Customer Credit Rating">Customer Credit Rating</option>
                          <option value="Handset Ineligible Damaged">Handset Ineligible Damaged</option>
                          <option value="Handset Ineligible (Matrix)">Handset Ineligible (Matrix)</option>
                          <option value="Migration not yet complete">Migration not yet complete</option>
                          <option value="No transaction number">No transaction number</option>
              <option value="Insurance already on account">Insurance already on account</option>

                        </select>
                        </span></label>
          </div></td>
      </tr>  
    </tbody>


</tr>

        </tr>

<br>
    </tr>
          </table>


          <p>
  <input type="hidden" name="MM_insert" value="test">
          <p align="center">
            <input type="submit" name="Submit" value="Submit" />
  </p>
</form>
</fieldset>
</body>

手机号码:
销售:
不
对
新产品:
£10
£6.50

非销售原因: 帐户更改不完整 客户信用评级 手机不合格损坏 手机不合格(矩阵) 迁移尚未完成 没有交易号码 保险已经在账上了

已经有一个validateForm()在submit上运行,用于检查其他框(我已从本例中删除)是否保留为空


谢谢你

我不认为在这一点上警告用户是正确的做法。他们不想出售,为什么他们应该得到关于价格的警告。我认为如果Sale=No,您应该删除validateForm函数中的值

if(document.getElementById("Sale").value == undefined || document.getElementById("Sale").value == 'No')
    document.getElementById('SaleProduct').value = "";
或者,如果您确实想警告用户,请更改从onchange事件触发的“显示”功能。将此添加到代码中

if(document.getElementById("Sale").value == 'No' && document.getElementById('SaleProduct').value != '')
    alert('You should remove the price!'); // or make some div visible that contains the error message

您也可以在validateForm上执行此操作。

这是个好主意,我没有想到,谢谢。我是否只是将此代码添加到ValidateForm javascript中?我试过了,但没用。当sales被选为“否”时,仍然提交了价格信息。别担心。非常感谢,非常有用。我不能投票支持答案,因为我没有足够高的声誉。是的,请将其添加到valdateForm。它应该以空字符串的形式提交SaleProduct。是的,我在调用这两个函数时遇到了问题,所以不得不更改onsubmit。现在一切都好了,再次谢谢你