修改表单属性

时间:2013-09-11 12:58:04

标签: jquery forms

我目前正在使用form.attr使用jQuery,我已经修改了这些以使用iframe上传,但是现在上传已经完成我需要还原这些更改。是否有捷径可寻?例如form.revert()或者我需要使用form.attr()函数重置这些函数吗?

我使用的代码是:

var form = $('.myform');
form.attr("action", "scripts/old.php");
form.attr("method", "post");
form.attr("enctype", "multipart/form-data");
form.attr("encoding", "multipart/form-data");
form.attr("target", "postiframe");
form.attr("file", $('#userfile').val()); 

但我现在需要将它重新设置为原始版本。我可以再次使用上面的代码重置,但我宁愿使用默认方法重置(如果可能)

2 个答案:

答案 0 :(得分:2)

试一试:

document.getElementById("formID").reset();

JSFIDDLE

参考: w3schools

答案 1 :(得分:1)

我假设您的意思是将表单提交到iframe中?

var form = $("#form1");
form.attr("target", "MyFrame");
form.attr("action", "newpage.php");
form.submit();

在这种情况下,只需将原始值存储为数据值,并在提交后立即恢复:

//get jQuery element:
var form = $("#form1");

//store original values:
form.data("original_target", form.attr("target"));
form.data("original_action", form.attr("action"));

//change values:
form.attr("target", "MyFrame");
form.attr("action", "newpage.php");

//submit:
form.submit();

//revert back to original:
form.attr("target", form.data("original_target"));
form.attr("action", form.data("original_action"));

下一次提交将在主窗口中显示原始操作页面。