【问题标题】:Pass an array through .load通过 .load 传递一个数组
【发布时间】:2015-10-17 00:59:47
【问题描述】:

我有这个 jQuery 代码。它的作用是从(选定的)单选按钮获取值,然后将其传递到“c”数组中。

for 语句中有 40 个项目,因此 b<40 条件。我正在做的下一步是使用.load() 在PHP 上传递它。大家可以在下面的代码中看到,我只在c[3]。因为在我想的路上,也许有一种方法可以传递这个数组而不用一个一个地对它们进行编码。

那么,有没有一种方法可以使用 .load() 将数组传递给 PHP,而无需逐个编码,还是我只是懒惰?

$(document).on('click', '#submitexam', function() {
    var examinee = $('#examinee').val();
    var q1 = $('#QU1').attr('id');
    var c = ["null"];
    var b;
    for (b = 1; b < 40; b++) {
        c.push($('input[name=Q' + b + ']:checked').next('label:first').html());
        console.log(c[b]);
    }

    $('.bod').load('process.php', {
        examinee: examinee,
        a1: c[1],
        a2: c[2],
        a3: c[3],
        q1: q1
    })
});

【问题讨论】:

  • 那么您是发布数据还是获取数据?你也可以发布你的html吗
  • 我正在将数据发布到数据库
  • 你可以查看答案,我已经发过了

标签: php jquery html arrays load


【解决方案1】:

.load()仅用于从服务器获取数据。

您正在使用表单,因此您需要使用$.post$.ajax 将数据发布到服务器。

serialize() 函数用于从表单中获取所有数据并将其转换为字符串。

jquery

$(document).on('submit', '#submitexam', function(e) {
    e.preventDefault();
    $.post($(this).attr("action"), $(this).serialize()).done(function(data) {
        console.log(data);
    });
});

html

<form action="process.php" method="post" id="submitexam">
    all your radio buttons place it here and at the end instead of button use
    <input type="submit" value="submit"/>
</form>

【讨论】:

  • 我不知道该怎么说,但从技术上讲,我并没有使用表单标签。我只是使用一个按钮,当它被点击时,它给了我变量。这算是一种形式吗?
  • 您应该使用表单来提交数据,这是一种很好的做法。如果您不使用表单,我的解决方案将不起作用。将所有代码放在一个表单中
  • 好的,我一回到办公室就试试这个。与此同时,我仍然要等待其他一些答案。非常感谢!
猜你喜欢
  • 1970-01-01
  • 2012-08-14
  • 2016-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-23
  • 2011-02-03
  • 1970-01-01
相关资源
最近更新 更多