我需要帮助来解决我认为 Jquery 的简单表单提交问题,但我遇到了问题。
我有一个表单,#listing_step_1,用户首先从下拉列表中选择一个类别。选择类别后,如果用户单击“下一步”,则会显示子类别下拉列表。当同时选择一个类别和子类别时,单击下一步将使用重定向将它们带到流程的第 2 步。提交时,表单正在使用 $_SERVER['PHP_SELF'] 重新加载同一页面。
我想自动提交表单,因此不需要单击下一步来显示子类别。我正在尝试使用 JQuery 对 onchange 事件执行此操作,但以下代码不起作用。
$('#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";
}
}
查询:
$(document).ready(function(){
$('#item_category').change(function(){
this.form.submit();
});
});