Мне нужна помощь с тем, что, как я думал, было бы простой проблемой отправки формы с Jquery, но я сталкиваюсь с проблемами.
У меня есть форма #isting_step_1, в которой пользователь сначала выбирает категорию из выпадающего списка. Когда категория выбрана, если пользователь нажимает «далее», раскрывается раскрывающийся список подкатегории. Когда выбрана категория и подкатегория, нажатие кнопки «Далее» приведет их к шагу 2 процесса с использованием перенаправления. При отправке форма перезагружает ту же страницу, используя $ _SERVER ['PHP_SELF'].
Я хочу автоматически отправить форму, поэтому не нужно нажимать кнопку «Далее», чтобы открыть подкатегории. Я пытаюсь сделать это на событии onchange, используя JQuery, но следующий код не работает.
$('#item_category').change(function(){
$('#listing_step_1').submit();
});
Буду признателен за любую помощь в этом, поскольку я новичок в формировании представления с использованием JQuery и AJAX. Вручную все работает нормально, то есть, нажимая кнопку страницы и обновляя страницу PHP. Я думал, что просто отправив форму в экземпляре onchange, она перезагрузит и выполнит необходимые действия, но это не так.
Код формы:
<form method="post" name="listing_step_1" id="listing_step_1" action="<?php $_SERVER['PHP_SELF'] ?>" enctype="multipart/form-data" <?php if($errormessage != ""){ echo ' style="margin-top: 30px"';}?>>
<div class="formField fullwidth">
<label for="item_category">Category *</label>
<select id="item_category" name="item_category">
<option value="0">Select category...</option>
<?php $cd = new CategoryListing("<option_credits>", "</option>"); ?>
</select>
</div>
<div class="formField fullwidth">
<label for="item_subcategory">Subcategory*</label>
<?php if($dropdownlist != "") { ?>
<select id="item_subcategory" name="item_subcategory">
<?php echo $dropdownlist; ?>
</select>
<?php } else { ?>
<select id="item_subcategory" name="item_subcategory" disabled="true">
<option value="0">Select subcategory...</option>
</select>
<?php } ?>
</div>
<input type="submit" value="Next" id="submit" name="submit" style="width: 100px;" />
</form>
Форма отправки:
if(isset($_POST['submit'])){
if($_POST['item_category'] != 0){
$dropdownlist = CategoryListing::getSubCategoryDropdown($_POST['item_category']);
}
else {
$errormessage = "Please select a category";
}
}
Jquery:
$(document).ready(function(){
$('#item_category').change(function(){
this.form.submit();
});
});