gpt4 book ai didi

javascript - 使用 jquery 发送一个数组

转载 作者:行者123 更新时间:2023-11-30 05:41:31 25 4
gpt4 key购买 nike

我使用 Uploadifive 并修改了一些东西。

我制作了一个表单,人们可以在其中选择和输入值,并允许人们选择多个数字,如下所示:

 <input type="checkbox" id="checker_tiny" name="lid[]" value="1" />
<input type="checkbox" id="checker_tiny" name="lid[]" value="2" />
<input type="checkbox" id="checker_tiny" name="lid[]" value="3" />
<input type="checkbox" id="checker_tiny" name="lid[]" value="4" />
<input type="checkbox" id="checker_tiny" name="lid[]" value="5" />

我现在希望将表单发送到 /upload/uploadifive.php

我已经用下面的代码试过了:

    <script type="text/javascript">
//<![CDATA[
$(function() {
// Initialiseer uploadifive
$('#file_upload').uploadifive({
'auto' : false,
'checkScript' : '/uploadifive/Sample/check-exists.php',
'onFallback' : function () {
window.location = '/home.php';
},
'method' : 'post',
'queueID' : 'queue',
'uploadScript' : '/upload/uploadifive.php',
'onUploadComplete' : function (file, data) {
console.log(data);
}
});

// Hang een click-event aan de knop
$('#subby').on('click', function () {
// Werk formData van uploadifive bij met de betreffende waarden
$('#file_upload').data('uploadifive').settings.formData = {
'timestamp' : '<?php echo $timestamp;?>',
'token' : '<?php echo md5('unique_salt' . $timestamp);?>',
'projectnr' : $('input[name=projectnr]').val(),
'gebruiker' : $('input[name=gebruiker]').val(),
'gebruikerid' : $('input[name=userId]').val(),
'mapId' : $( "#mapId option:selected" ).val(), // moet dit niet val() zijn???
'uploadbash' : '<?php echo $uploadbash; ?>',
'upload_reden' : $( "#upload_reden option:selected" ).val(),
'todo' : $("input[name=todo]:checked").val(),
'lid' : $('input[name=lid[]]:checked').val()
};
// Voer de upload uit
$('#file_upload').uploadifive('upload');
});
});
//]]>
</script>

目前正在发送所有数据并且可以正常工作,但只有多个数字复选框无法正确发送数据。

我在 /upload/uploadifive.php 上得到“undefined”

怎么了?

最佳答案

两个修复。首先,就像 Rajaprabhu Aravindasam 的回答一样,您需要转义名称中的特殊字符。其次,您需要遍历所有 lid[] 元素并将它们分别添加到 formData 对象中。

var formData = {
'timestamp' : '<?php echo $timestamp;?>',
'token' : '<?php echo md5('unique_salt' . $timestamp);?>',
'projectnr' : $('input[name=projectnr]').val(),
'gebruiker' : $('input[name=gebruiker]').val(),
'gebruikerid' : $('input[name=userId]').val(),
'mapId' : $( "#mapId option:selected" ).val(), // moet dit niet val() zijn???
'uploadbash' : '<?php echo $uploadbash; ?>',
'upload_reden' : $( "#upload_reden option:selected" ).val(),
'todo' : $("input[name=todo]:checked").val(),
};
$('input[name="lid[]"]:checked').each(function(i) {
formData['lid['+i+']'] = $(this).val();
});
$('#file_upload').data('uploadifive').settings.formData = formData;

关于javascript - 使用 jquery 发送一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20594791/

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