我在下面附加了我的php的簡化版本。 我有一個從多輸入欄+上傳文件選項。當進度條達到100%時未提交表格
當提交表單時,上傳欄會激活,當它達到100%時,我會看到「成功」警報,然後是「完成」警報。 (兩次???) 然而,不是「url:sendEmail.php」觸發形式「動作= sendEmail.php」 - 我想添加兩個,看是否有觸發。 注意,當我刪除ajaxFrom觸發器「sendEmail.php」時執行。
那麼我做錯了什麼?應該改變以實現「sendEmail.php」。 也爲什麼我看到成功&完成警報兩次? Success => complete => success => complete
基本形式:
<form id="formmail" class="form-horizontal" name="formmail" method="POST" action="sendEmail.php" enctype="multipart/form-data">
.
.
.
我試圖(單獨的課程)都與一個提交按鈕:
<input class="btn btn-sm" name='submit' type='submit' id='submit' tabindex='100' value="Submit"/>
和一個簡單的按鈕:
<button class="btn btn-sm" name='submit' id='submit'>Submit</button>
javascript:
var progress
$(document).ready(function(){
$("#submit").click(function(){
var form_data = $("#formmail").serialize();
$("#formmail").ajaxForm({
type: "POST",
url: "sendEmail.php",
data: form_data,
beforeSend: function() {
$("#progressBar").removeClass("hidden");
progress = "0%";
$('.progress-bar').css("width", progress);
$('.progress-bar').html(progress);
},
uploadProgress: function (event, position, total, percentComplete) {
progress = percentComplete + "%";
$('.progress-bar').css("width", progress);
$('.progress-bar').html(progress);
},
success: function (data){
alert("success");
},
complete: function(xhr){
if(xhr.responseText) {
alert("complete");
}
},
})
.submit();
});
});
你可以在'alert'成功後加''(「#formmail」)。submit()' –
@PareshMaghodiya你試過了嗎?它會再次提交表格。 – Raptor
是的,我嘗試過 - 我收到警報消息和上傳,但沒有提交表單。 「sendEmail.php」仍然沒有進行 –