【问题标题】:jQuery Form, ajaxForm(), does not process radio button in IE when its set by JavascriptjQuery Form,ajaxForm(),当它被Javascript设置时,不处理IE中的单选按钮
【发布时间】:2014-02-27 19:12:49
【问题描述】:

我根据谷歌地图返回的数据设置了一个单选按钮,如下所示:

countryCode = results[0].address_components[i].short_name;
$('input[type=radio][name=country]').prop('checked', false);
$('input:radio[name=country]').each(function() {
    if ($(this).val() === countryCode) {
        $('#' + countryCode).prop('checked', true);
    }
});

这会将国家/地区的缩写(例如 US)设置为单选按钮的值。收音机的 HTML 看起来像(有几个):

<label><input type="radio" id="US"  name="country" form="dataInput" value="US" />United States</label>

在用户输入其他数据后,提交会触发 jQuery 的表单插件。我用的是3.46-2013.11.21版本命令是:

$('#dataInput').ajaxForm( submitOptions );

submitOptions 对象包含参数。此行之前的警告显示国家单选按钮仍有正确的数据。

PHP 使用以下语句获取数据:

$country = $_POST['country']; //for IE, PHP says Notice: undefined index: country

如果使用 IE,则会向输入正确数据的用户返回验证错误。

以上所有功能都可以在多个版本的 Firefox 和 Chrome 中使用。它在 IE 8 到 11 中不起作用。作为测试,当 HTML 更改为包含 check="checked" 时,IE 11 会选择国家,但它不会选择下一个输入,即状态。 Firefox 和 Chrome 都可以。作为这个长期存在的谜团的最后一点(无论如何对我来说)是其他几个用于其他事情的单选按钮,由 HTML 中的 checked="checked" 设置,在所有测试的 IE 版本中都可以正常工作。

如何让通过 Javascript 设置的国家单选按钮在 IE 浏览器中传递到 PHP 服务器?我已经为此工作了很多小时。请具体。如有需要,我可以提供更多信息。

【问题讨论】:

  • 在我看来,表单插件会丢失或删除数据,因为我有几个带有 jQ​​uery 选择的单选按钮的表单,并且这些表单可以很好地传递给我的 PHP 脚本。我正在使用 $.post() 和/或 $.ajax()
  • 是的,Jay,但是表单插件会直接通过其他单选按钮。表单使用 $.ajax()。我想继续使用 Form,因为它可以轻松处理文本、复选框、图像等,而且我需要所有这些。
  • 在另一个关于这个问题的讨论中,我突然想到这个单选按钮输入是唯一一个由 Javascript 设置的,并且唯一一个单选按钮组位于 jQuery 对话框中。 (代码未显示)我仍然没有解决方案,但问题可能是 IE8 -> 11 从对话框中获取数据的方式与 Firefox 或 Chrome 不同。请注意,我在 radio 输入语句中有 form 属性,但这对于 IE 来说可能还不够。

标签: jquery forms internet-explorer dialog ajaxform


【解决方案1】:

从另一个对话中,我发现 IE 11 不支持输入语句中的表单属性。结案。我认为到 11 岁,IE 会支持 HTML5,但现在还没有。

这里有一个测试页面的链接,如果以后有人需要测试IE是否支持输入语句中的form属性。

http://www.impressivewebs.com/demo-files/html5-form-attribute/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-20
    • 1970-01-01
    • 2020-03-27
    • 2011-06-04
    • 2010-10-31
    • 2011-10-19
    • 1970-01-01
    • 2013-06-23
    相关资源
    最近更新 更多