如何将一个表单元素的值复制到另一个表单元素?

时间:2012-05-29 02:55:14

标签: jquery-ui jquery jquery-plugins expressionengine

这是对这些问题的跟进:

How can I manipulate a form / inputs to be ignored when a form is submitted

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

我可以复制type = text和textarea但是复选框,多选和收音机呢。

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

如果我的工作不清楚,请原谅我。如果是这种情况,只要问你想要我澄清什么。

2 个答案:

答案 0 :(得分: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() 方法从该字符串创建数组。

希望这有用:)

答案 1 :(得分:0)

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