Я использую ajaxFrom запроса представить свою форму и мой код выглядит так:Как пройти динамическую переменную в ajaxForm
(function() {
$('#modal2From').ajaxForm({
beforeSubmit: function(arr, $form, options)
{
arr.push({dataKind:'major', grade: selectedGrade });
},
/*dataType: "text",
data: {
dataKind: "major",
grade: selectedGrade
},*/
beforeSend: function() {
},
success: function(msg) {
console.log(msg);
},
error: function(err) {
},
complete: function(xhr) {
}
});
})();
Проблема заключается в том, что selectedGrade
является динамической переменной и с тех пор, когда я загружаю страница ajax получает вызов, selectedGrade
не определен, потому что пользователь еще не выбрал оценку, поэтому я не могу получить к нему доступ $_POST['grade']
в php-файле.
Обратите внимание, что если я удалю selectedGrade
от data {}
, мой код отлично работает.
Вот HTML код:
<div id="modal1" class="modal modal-fixed-footer" style="text-align:right;">
<form enctype="multipart/form-data" name='modal1From' role="form" id="modal1From" method="post" action="../php/upload.php">
<div class="modal-content">
<div class="row">
<div class="file-field input-field col s12 m6 offset-m6 tool tipped">
<div class="file-path-wrapper col s9 m9">
<input id="modal1FilePath" class="file-path validate" type="text">
</div>
<div class="btn col s3 m3">
<span>Choose</span>
<input type="file" name="files" id="modal1FileUpload">
</div>
</div>
<div class="progress tooltipped" id="modal1Progress" data-position="bottom" data-delay="50" data-tooltip="0%" style="top:10px;display:none;">
<div class="determinate" style="width:0%;"></div>
</div>
</div>
</div>
<div class="modal-footer">
<a href="#!" class="modal-action waves-effect waves-green btn-flat left modalConfirm" type="">Confirm</a>
<a class="waves-effect waves-light btn stop_upload_btn" style="float:left;display:none;">Stop</a>
<a class="modal-action modal-close waves-effect waves-green btn-flat left">close</a>
</div>
</form>
</div>
Формы получает представить: $("#modal1From").submit();
на . modalConfirm
нажмите
Вы можете добавить одно, если условие для проверки selectedGrade перед отправкой вызова Ajax. –
Так что не запускайте ajax при загрузке страницы! Лучше будет запускать ajax, когда пользователь выбрал. –
Если используется, если условие ajaxForm не работает вообще! Я не знаю почему! я не так хорошо знаком с ajaxForm – Armin