以下、私のPHPの簡略版を添付しました。 複数の入力フィールドからファイルをアップロードするオプションがあります。進捗バーが100%に達したときにフォームが提出されない
フォームが送信されるとアップロードバーが起動し、100%に達したら「成功」アラートと「完了」アラートが表示されます。 (2回) "url:sendEmail.php"ではなく、 "action = sendEmail.php"という形式も起動されていません - 私はどちらかが起動されているかどうかを確認するために両方を追加することを考えました。 メモ、私はajaxFromトリガーを削除すると "sendEmail.php"が実行されます。
どうしたのですか? 「sendEmail.php」を実行するためには何が変更されるべきですか。 また、&コンプリータアラートが2回成功したのはなぜですか。 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()'の後にsubmit() 'を入れることができます –
@PareshMaghodiya試しましたか?フォームをもう一度送信します。 – Raptor
はい私は試みました - 私は警告メッセージとアップロードを取得しますが、フォームは提出されません。 "sendEmail.php"はまだ実行されていません –