提交带有额外POST var(NO AJAX)的表单

时间:2013-05-24 10:03:24

标签: javascript jquery

是否可以使用其他POST变量提交from(同步正常经典方式,无AJAX)?

使用AJAX非常简单:

$("#cpa").submit(function(e) {
    e.preventDefault();
    newvalues = { name: "John", time: "2pm" }; 
    $.post(theurl, newvalues);
});

但我想知道是否可以通过附加数据提交SUBMIT(以便页面重新加载或转到theurl)。

编辑:由于评论存在混淆,不喜欢分享更多代码:

http://jsfiddle.net/4zc4d/

每次单击“保存”时,警报的内容都是我要添加到表单变种中的内容。

3 个答案:

答案 0 :(得分:2)

使用

<input type="hidden" name="country" value="Norway">

w3schools中看到提交用户看不到的字段。 注意:如果用户关心检查源代码或流量,他可以找出值。

编辑: 关于jsfiddle中的其他字段:您是否意识到可以直接发送数组?

 <input type="hidden" name="id[]" value="1">
 <input type="hidden" name="id[]" value="2">
 <input type="hidden" name="id[]" value="3">

将导致

$_POST['id'] = array(1,2,3)

无需连接值。

答案 1 :(得分:1)

如果您愿意,还可以通过jQuery添加隐藏输入:

$("#cpa").submit(function(e) {
    $(this).append('<input type="hidden" name="theName" value="some value" />');
});

答案 2 :(得分:0)

正如有人提到的,为表单HTML添加隐藏字段

<input type="hidden" id="hidValue" />

设置所需的值。

$("#hidValue").val("Anyvalue");