[英]How to check if form was submitted in Java
我在jsp中有一個表格:
<form id="emailForm" data-role="form">
<input type="text" class="form-control" id="name" name="name" placeholder="Enter full name..">
<input type="submit" id="emailSubmit" name="emailSubmit" class="btn btn-default" value="submit">
</form>
我使用AJAX將表單發送給控制器:
$("#emailSubmit").click(function(e){
e.preventDefault(); //STOP default action
var postData = $("#emailForm").serializeArray();
$.ajax(
{
type: "POST",
url : "HomeController",
data : postData,
success: function(data)
{
$("#emailResult").html("<p>Thank your for submitting</p>);
},
error: function(jqXHR, textStatus, errorThrown)
{
$("#emailResult").html("<p>ss"+errorThrown+textStatus+jqXHR+"</p>");
}
});
});
我在這里檢查是否已在Controller中提交:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String emailSubmit = request.getParameter("emailSubmit");
if(emailSubmit != null){
// continue
}}
有人可以告訴我為什么檢查表單是否在控制器中提交時為null
嗎?
對於表單,標准方法是捕獲submit
事件而不是按鈕的click
事件:
$("#emailForm").submit(function(e){
e.preventDefault();
var postData = $(this).serializeArray(); // or: $(this).serialize();
$.ajax({
type: "POST",
url : "HomeController",
data : postData,
success: function(data)
{
$("#emailResult").html("<p>Thank your for submitting</p>);
},
error: function(jqXHR, textStatus, errorThrown)
{
$("#emailResult").html("<p>ss"+errorThrown+textStatus+jqXHR+"</p>");
}
});
});
我嘗試了幾種方法來檢查“提交”按鈕是否為null並不能解決該問題。 現在,我以如下形式設置了一個隱藏的輸入字段:
<input type="hidden" name="form" value="contactForm">
在控制器中,我檢查以下形式:
String form = request.getParameter("form");
if(form.equals("contactForm")){
// continue
}
這樣做使我知道哪個表格已過帳到控制器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.