1

考虑这个设置:

  • 页面加载时创建的表单

<form id="mybase64" method="POST"> <input id="basevalue" name="basevalue" type="text" value="" /> </form>

现在我设置了一个从 JSON 数据创建的要循环的数组。这一切都经过验证、检查并按预期工作。

我现在要做的是遍历数组以获取 base64 编码的图像。我想使用 PHP 解码。为此,我想使用 post 方法来绕过 IE 浏览器的 URl 限制。

因此,在我的循环中,我使用 jQuery 表单插件将 #mybase64 表单提交到我的 PHP 文件。这一切几乎都奏效了。循环运行,调用 PHP 文件并在目标元素中更新图像。

问题 - 尽管我使用了 for 循环,并且输入字段的值实际上得到了更新,但 jquery 表单在整个循环中不断提交相同的确切数据,尽管我更新了输入字段的值。

这是我的做法

for (var i = (JSpage - 1) * 12; i < JSresults; i++) {
    if (!JSON[i].firstname) { var firstName = ' '; } else { var firstName = JSON[i].firstname; }
    if (!JSON[i].lastname) { var lastName = ' '; } else { var lastName = JSON[i].lastname; }
    if (!JSON[i].photo_base64) {
        $('#ECbuttons').append('<li class="clickcontact" id="' + i + '"><img src="design_img/contact-no-image.jpg" /><div>' + firstName + '<br>' + lastName + '</div></li>');
    } else {
        //update input field
        $('#basevalue').val(JSON[i].photo_base64);

        //confirm that input field's value does change (check!)
        var mi = $('#basevalue').val();
        alert(mi);

        //Add new li element to be updated with new image
        $('#ECbuttons').append('<li class="clickcontact" id="' + i + '"><img style="height: 65px; width: 65px" src="" /><div>' + firstName + '<br>' + lastName + '</div></li>');
    }
    //dynamically set options for jQuery form submit
    var options = { 
            //target is handled correctly and keeps getting updated with the same image 
            target:     '#' + i, 
        url:        'system/showbase.php'
    }; 
    //submit the form on each run (check with a success handler, this gets called always
    $('#mybase64').ajaxSubmit(options); 
}

任何人都可以提供有关是否可以使用 ajax 表单请求从数组提交新数据的任何见解,如果可以,如何?

非常感谢您的宝贵时间

/米克尔

4

0 回答 0