【问题标题】:Select List onChange not working if the option value is "True"如果选项值为“True”,则选择 List onChange 不起作用
【发布时间】:2012-07-11 04:16:03
【问题描述】:

我正在使用 MVC.net 生成带有选择列表的表单。当用户更改选择列表时,我希望表单自动提交。我有以下代码:

<select OnChange="$(&#39;#FormID&#39;).submit();" id="LinkedToInvoice" name="LinkedToInvoice">
    <option value="">Select</option>
    <option value="True">Yes</option>
    <option selected value="False">No</option>
</select>

这应该有效,实际上它在某些时候有效。如果我将下拉菜单更改为“选择”,它会提交表单,如果我更改为“否”,它会提交表单。但是,当我将下拉菜单更改为“是”(值 = true)时,表单不会提交。如果我将值从 True 更改为其他任何值,它会正确触发,但 value="True" 似乎会停止 onchange 事件。任何建议都将受到欢迎。

【问题讨论】:

  • 是默认选择No 值,正如您的代码所暗示的那样,还是Yes 值?选择当前选择的值不算作更改。
  • 页面加载时选择否。如果我选择“是”,则不会触发 onchange。如果我选择“选择”选项,则更改会触发。基本上,如果我将值从其他任何值更改为是,则更改不会触发。
  • 您是否有一个submit 事件处理程序绑定到表单某处,如果选择Yes(可能在验证表单数据时)可能会拒绝提交?
  • 我正在使用 jquery ajaxs 表单插件通过 ajax (malsup.com/jquery/form) 提交表单,我刚刚进行了一些测试并将表单提交更改为警报,它的工作原理是但是由于某种原因,该表单未提交。我认为这是 Jquery 插件中某处的错误。我将进一步调查并用任何结果更新我的问题。感谢您的帮助。
  • 当您为您解决一个附带问题时:您的表单的 id 实际上是“FormID”吗?

标签: javascript jquery asp.net-mvc


【解决方案1】:

好吧,我的错误是 onchange 事件正确触发,但表单提交失败。我正在使用 jquery ajax 表单来提交表单,并且我没有包括任何故障检查。当将真实值传递给服务器时,我的代码在服务器上导致错误 500,但是网页上没有显示任何消息。在我的 ajax 表单调用中添加故障检查解决了这个问题,并让我能够找到错误 500 的原因。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-05
    • 2013-08-08
    • 2012-12-25
    • 2018-01-06
    • 2012-02-16
    • 1970-01-01
    • 1970-01-01
    • 2017-12-01
    相关资源
    最近更新 更多