为什么在使用jQuery提交功能时无法提交此表单

时间:2018-10-02 20:34:49

标签: jquery html forms submit

当我单击带有jQuery提交功能的click事件的html按钮时,我无法提交以下表单。

我的html在下面:

<form data-role="tocart-form" name="dynamicForm" id="dynamForm" action="http://www.example.com/dynamicbuy.php" method="post">
<input type="hidden" name="product" value="4">
<input type="hidden" name="uenc" value="aHR0c"> 
<input name="form_key" type="hidden" value="eG4oiXalmxVw4hDx">
<input name="price" type="hidden" value="">
<input type="button" name="submit" value="Buy" class="buttonBuy">
</form>

我的jQuery在下面:

$(".buttonBuy").click(function(){
        $("input[name='price']").val($("#the-watchPrice > span").html());
        $("#dynamForm").submit();
    });

2 个答案:

答案 0 :(得分:1)

您的@Entity(name = "Library") public class Library { @Id private Long id; private String name; @OneToMany(cascade = CascadeType.ALL) @JoinColumn(name = "book_id") private Set<Long> books = new HashSet<>(); //Getters and setters } 必须是<input type="button" name="submit" value="Buy" class="buttonBuy">而不是type="submit"才能提交表单。

除此之外,您似乎正在执行自定义jQuery验证/提交。要触发此操作,您需要通过将提交事件传递到click函数中并使用type="button"来阻止 default 表单提交。

这可以在下面看到:

.preventDefault()
$(".buttonBuy").click(function(e) {
  e.preventDefault();
  $("input[name='price']").val($("#the-watchPrice > span").html());
  $("#dynamForm").submit();
});

答案 1 :(得分:0)

或者,只需将提交按钮的名称更改为不同于提交的其他名称,如下所示:

<input type="button" name="buybutton" value="Buy" class="buttonBuy">

您可以查看有效的demo here