在带有jQuery的页面上以特定表单为目标
在提交表单之前,我需要获取表单文本字段的值(如果有) 假设我有一个表单A,用户输入一些值,然后单击页面上的其他链接,打开一个包含表单B的对话框。如果用户提交表单B,结果将发布在页面上并刷新它,这正是我想要的,但它将丢失表单A字段中的所有值 我需要的是在提交表单B时通过表单a的表单字段运行一个循环,从表单a以HTML的形式获取“非空”字段,并将该HTML与表单B发布的结果一起插入刷新页面 也就是说,我现在需要的是能够在单击myLink时,将值输入到一个变量中的HTML在带有jQuery的页面上以特定表单为目标,jquery,Jquery,在提交表单之前,我需要获取表单文本字段的值(如果有) 假设我有一个表单A,用户输入一些值,然后单击页面上的其他链接,打开一个包含表单B的对话框。如果用户提交表单B,结果将发布在页面上并刷新它,这正是我想要的,但它将丢失表单A字段中的所有值 我需要的是在提交表单B时通过表单a的表单字段运行一个循环,从表单a以HTML的形式获取“非空”字段,并将该HTML与表单B发布的结果一起插入刷新页面 也就是说,我现在需要的是能够在单击myLink时,将值输入到一个变量中的HTML $('#myForm:inp
$('#myForm:input').each(function(){
var fieldWithValue = "";
if($(this).val() != "") {
$this = $(this);
fieldWithValue += $this.parent().html();
}
$("#vals").html(fieldWithValue);
})
<form id="myForm">
foreach ($arrays as $listValue) {
<div>
<input type="text" maxlength="100" name="field[]">
</div>
}
<div id="vals"></div>
</form>
<a href="#" id="myLink">link</a>
$('#myForm:input')。每个(函数(){
var fieldWithValue=“”;
if($(this.val()!=“”){
$this=$(this);
fieldWithValue+=$this.parent().html();
}
$(“#vals”).html(fieldWithValue);
})
foreach($listValue形式的数组){
}
我认为这可以通过使用.html()来实现。您的问题是“将所有内容写入一个变量,并在刷新后在页面上发回”。从字面上看,这听起来很奇怪,因为如果您真的使用整页刷新,刷新页面后JS变量不会持续存在
因此,如果这是您真正采取的方法,那么这可能是您想要开始的地方:通常,这是您从表单中获取所有字段值以发送到服务器的方法(例如,在ajax调用中)
所以,你可以做的是:
- 序列化目标表单并将序列化的字符串保存到cookie中,cookie以其存储的表单值的id命名
- 在页面加载时,查找与cookie名称匹配的元素,并填写cookie值中的值。您可以在服务器上或在JavaScript中执行此操作李>
$('#myForm').submit(function() {
alert($(this).serialize());
});
我建议更新您的问题,以便更好地定义您的需求。