gpt4 book ai didi

jquery - .serialize() 不适用于 Opera 中的特定形式

转载 作者:行者123 更新时间:2023-12-01 03:41:13 25 4
gpt4 key购买 nike

我陷入了奇怪的行为:对于其中一种形式 $().serialize() 方法不起作用(返回空字符串)。仅在 Opera 中(在 Linux 上,12.16)。在 Android 上的 Chromium、FF 和 Opera 中运行良好。

表格是

<form id="new-story-form" role="form" >
<div class="form-group">
<label for="txt-storyname" class="control-label">Story name</label>
<input type="text" name="name" class="form-control" id="txt-storyname" required="required">
</div>
<div class="form-group">
<label for="num-storylength" class="control-label">Story length</label>
<input type="number" name="length" class="form-control" id="num-storylength" value="20" min="10" max="500" required="required">
</div>
<div class="form-group">
<button type="submit" class="btn btn-default">Начать</button>
</div>
</form>

提交的Javascript是:

        $("#new-story-form").submit(function (e) {
e.preventDefault();
var post_data = $(this).serialize();
console.log(post_data);

$.post("/post", post_data ,function (data) {
console.log(data);
show_message("S", 'success');
var update = setTimeout(function () {
location.reload();
}, 1000);

}).fail(function (err) {
$.each(err.responseJSON, function (index, value) {
console.log(index, value);
show_message(index + ' - ' + value, 'danger');
});

});
});

如果我在 Opera 调试器中查看 var post_data = $(this).serialize();$(this) 包含正常形式的对象,但是 post_data""

这里有什么我可以错过的吗?

最佳答案

问题似乎是输入的名称“length”,请选择其他名称。

我猜这与built-in property "length"有冲突一个表格。

jQuery 文档中有一条注释: 表单及其子元素不应使用与表单属性冲突的输入名称或 ID,例如提交、长度或方法。名称冲突可能会导致困惑的失败。

关于jquery - .serialize() 不适用于 Opera 中的特定形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19869047/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com