Javascript 使HTML表单提交到不同的位置
希望有人能帮上忙。我有一个表单,它有一个action属性。此操作属性允许用户在提交表单时订阅新闻稿 我试图做的是,只有当用户选中了一个复选框,允许订阅时事通讯时,才使用该操作。如果未选中该复选框,则仍可以提交表单,但将重定向到单独的URL,而不考虑表单的action属性 到目前为止,这就是我所拥有的,我不擅长javascript,因此任何帮助都将不胜感激Javascript 使HTML表单提交到不同的位置,javascript,forms,if-statement,action,Javascript,Forms,If Statement,Action,希望有人能帮上忙。我有一个表单,它有一个action属性。此操作属性允许用户在提交表单时订阅新闻稿 我试图做的是,只有当用户选中了一个复选框,允许订阅时事通讯时,才使用该操作。如果未选中该复选框,则仍可以提交表单,但将重定向到单独的URL,而不考虑表单的action属性 到目前为止,这就是我所拥有的,我不擅长javascript,因此任何帮助都将不胜感激 $('document').ready(function () { $('#wifi-capture-form').submit(funct
$('document').ready(function () {
$('#wifi-capture-form').submit(function() {
var newsletterTrue= $(this).attr("data-newsletter-checked");
var newsletterFalse= $(this).attr("data-newsletter-unchecked");
if ($('input.newsletter-checkbox').is(':checked')) {
$('#wifi-capture-form').attr('action', newsletterTrue);
else (
$('#wifi-capture-form').attr('action', newsletterFalse);
)
}
});
}))
表格是
<form name="wifi-capture-form" id="wifi-capture-form" action="" method="post" class="f24form wifi-capture-form" data-newsletter-checked="https://email.com/t/r/s/dkhywr/" data-newsletter-unchecked="https:www.domain.com/wifi-confirm">
<label for="fieldName">Name</label><br />
<input id="fieldName" name="cm-name" class="form-control" type="text" />
<label for="fieldEmail">Email</label><br/>
<input id="fieldEmail" class="form-control" name="cm-dkhywr-dkhywr" type="email" required /><br/><br/>
<input type="checkbox" name="newsletter" class="newsletter-checkbox" id="newsletter" value="Subscribe to newsletter"> Subscribe to our newsletter<br/><br/>
<button type="submit" class="btn btn-primary">Submit</button>
名称
电子邮件
订阅我们的时事通讯
提交
由于使用jQuery,您可以将事件分配给复选框,在复选框被选中/取消选中时,该复选框将动态更改操作URL。您可以通过在提交时更改表单的操作属性值来完成此操作。以下是语法:
$("#wifi-capture-form").attr("action", wifiConfirm);
因此,您的新代码必须如下所示:
$('#wifi-capture-form').submit(function(e) {
var wifiConfirm = $(this).attr("data-redirect");
/* if newslwetter checkbox is not checked, then change form action value*/
if (!$('input.newsletter-checkbox').is(':checked')) {
$("#wifi-capture-form").attr("action", wifiConfirm);
}
f24("send", "form", "form.#wifi-capture-form");
});
您可以在上看到其他示例,f24是否来自另一个库?数据重定向格式错误,您错过了
/
之后的https:
可能是解决此类问题的最佳方案。我明白了,是的,这似乎是一个更好的解决方案。这是否意味着我会在表单中留下一个空白的action属性。例如,action=”“否,保持html不变。此代码仅在复选框未选中时更改操作属性,否则,表单将提交到其原始位置,该位置已在HTMLH中设置,很可能已经完成…非常感谢您的帮助…非常感谢