0
我想調用表單提交使用Ajax的servlet。但它不會觸及ajax和頁面重新加載。我觸發表單手動提交,然後在那個提交函數,我打電話給ajax方法。使用Ajax手動提交表單
$("#image1").on('change', function(event) {
$('#myform').trigger('submit');
alert("button clicked"); // this is submitted
$("#myform").submit(function(e) { // this is not happening
event.preventDefault();
alert('form clicked');
//var formId=("#myform").submit();
$.ajax({
type: 'GET', // GET or POST or PUT or DELETE
// verb
url: "/bin/mr/controller?q=iechange",
data: $("#myform").serialize(),
// type
// sent
// to
// server
dataType: 'json', // Expected data format from
// server
processdata: true, // True or False
success: function(data) { // On Successfull
alert('call success');
console.log(data);
},
error: function(msg) { // When Service call
alert('call fail'); // fails
}
});
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="myform" >
<input name="img" id="image1" type="file" accept="image/*">
</form>
我假設你想用'POST'來提交表單。另外,你傳遞'e'作爲'event'參數 - 但是然後嘗試使用'event.preventDefault()' - 應該是'e.preventDefault()' – tymeJV