gpt4 book ai didi

javascript - 我的 jquery 构建的表单正在提交,但没有发送任何值!

转载 作者:行者123 更新时间:2023-11-30 18:48:02 24 4
gpt4 key购买 nike

我正在尝试执行类似此处找到的插件的操作: http://www.filamentgroup.com/lab/jquery_plugin_for_requesting_ajax_like_file_downloads/做。我原本只是打算使用它,但它在日期方面遇到了很多麻烦。所以我想我会尝试稍微改变它......

这是我的插件版本:

jQuery.download = function (url, data, method) {
if (url && typeof data == 'object') {
//for this version, data needs to be a json object.
//loop through the data object..

var theForm = $('<form></form>').attr('action', url).attr('method', method).attr('id', 'jqueryDownloadForm');

$.each(data, function (propertyName, propertyVal) {

theForm.append($("<input />").attr('type', 'hidden').attr('id', propertyName).val(propertyVal));
});

theForm.appendTo('body').trigger('submit').remove();
}
else {
//they didn't fill in the params. do nothing
}

};

这是它的调用方式:

var dataToPost = { reportFormatId: reportFormatId, reportPageSizeId: reportPageSizeId, reportSortOrderId: reportSortOrderId, rangeStart: rangeStart, rangeEnd: rangeEnd};
$.download('/The/Url/', dataToPost, "POST");

它构建表单并提交。但它不发送任何输入。

如果我遍历 theForm.find('input') 它们都有值。但是用 fiddler 查看帖子,没有任何内容被发布。我的 mvc Controller 给我空参数错误。

预先感谢您的帮助!

编辑:我尝试在表单中添加一个按钮。像这样:

theForm.append($("<input />").attr('type', 'submit').attr('id', "ExportForm").val("Export"));

并且不是从 JavaScript 提交。如果我点击按钮,它也不会发送任何数据。

最佳答案

<input>您生成的元素没有 name属性。由于该属性(不是 id )用于在发布表单时识别控件,因此实际上没有向服务器提交任何内容。

尝试这样的事情:

theForm.append($("<input />").attr("type", "hidden")
.attr("name", propertyName).val(propertyVal));

关于javascript - 我的 jquery 构建的表单正在提交,但没有发送任何值!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4829936/

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