将HTML表单提交到不同的地方

时间:2018-01-07 21:09:10

标签: javascript forms if-statement action

希望有人可以帮忙解决这个问题。我有一个具有action属性的表单。此操作属性使用户可以在提交表单时订阅新闻稿。

我想要做的只是在用户选中了一个允许订阅时事通讯的复选框时才使用该操作。如果未选中该复选框,则表单仍可以提交,但会被重定向到单独的URL,而忽略表单的操作属性。

到目前为止,这就是我所拥有的,我用javascript并不是很好,所以任何帮助都会受到赞赏。

$('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> 

2 个答案:

答案 0 :(得分:1)

您可以通过在提交时更改表单的操作属性值来执行此操作。这是语法:

 $('#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");  
});

所以你的新代码必须是这样的:

public <TargetType> Dataa { get; set; }

您可以在How to change form action based on selection

上查看其他示例

答案 1 :(得分:0)

由于您正在使用jQuery,因此您可以为复选框分配click事件,以便在选中/取消选中复选框时动态更改操作网址。