0

这是对这个问题的跟进:

提交表单时如何操作要忽略的表单/输入

我显示了信息、表单、show()s 和 hide()s 等。大多数事情似乎进展得相当顺利。我可以使用一些输入 - 没有双关语 - 是关于如何在表单中获取新值并将它们复制到仅显示 div 作为 ajaxSuccess 的一部分。

我可以复制 type=text 和 textarea 但是复选框、多选和单选。

简而言之,一旦提交了表单中的新值,我需要使用这些新值更新页面(而不是表单)。也许我需要为每种表单元素类型写一些?即便如此,我不太确定从哪里开始。

如果我的工作不清楚,请原谅我。如果是这种情况,请问您希望我澄清什么。

4

2 回答 2

0

最有意义的方法是让处理表单的脚本返回 ajaxSuccess 数据中的表单内容。这是一个例子:

的JavaScript:

$.ajax({
    url: 'ajax/process.php',
    success: function(data) {
        // Load returned data into page
        $('#result').html(data);
    }
});

php:

var $input1 = $_POST['input1'];
var $input1 = $_POST['input1'];

// DO SOMETHING WITH VARS AND IF SUCCESSFUL RETURN

if($success){
    echo "Thanks! Here is your info: ".$input1." and ".$input2;
}

返回数据后,您可以随意操作它。例如,如果您需要从表单中分离出不同的值,您可以从 PHP 中返回一个逗号分隔的字符串,并使用 javascript.split()方法从该字符串创建一个数组。

希望这会有所帮助:)

于 2012-05-29T08:44:59.410 回答
0

我想说您最好的选择是完全采用不同的方法,并在更新后从数据库中重新加载您的内容 - 在这种情况下通过 AJAX 调用。原因是您从表单中发布的内容可能与最终保存到数据库的内容不匹配,因为您的某些字段类型可能会处理和更改它们传递的数据(例如,剥离标签、格式化文本等)。这样,刷新的内容与来自 Channel Entries 调用的相同内容完全匹配。

于 2012-05-29T12:27:21.187 回答