【发布时间】:2023-03-14 12:30:01
【问题描述】:
我有一个form,它有一些input 和select 元素和一个提交按钮。提交表单时,我想知道选择了哪个下拉选项。
我已经通过使用 change jQuery 方法实现了这一点,但我想在表单提交上实现这一点,因为我必须进行两次 AJAX 调用;一个到POST 值,一个到GET 值。通过使用change 执行此操作,它会在更改时进行 AJAX 调用,并在单击提交按钮后进行调用。我只想通过提交表单来实现。
另外,我不能在我的<option> 标签上使用value 属性,因为下拉列表是在后端创建的
<form id="formId" method="get">
<div class="container">
<h4>Start Date:</h4>
<input type="text" id="startdate" name="fromdate" width="276" placeholder="dd/mm/yyyy" required onchange="checkDate()" />
<h4>End Date:</h4>
<input type="text" id="enddate" name="todate" width="276" placeholder="dd/mm/yyyy" required onchange="checkDate()" />
<h4>Outlets:</h4>
<select name="outlet" id="myselect">
<option>--------------------------------------</option>
<option>ALL</option>
</select>
<div><br>
</div>
<div>
<br>
<button id="button" class="btn btn-default" type="submit">Search</button>
</div>
</div>
</form>
<div class="loader"></div>
<div class="overlay"></div>
<div id="tbl"></div>
$(document).ready(function() {
$("#myselect").on("change", function() {
currentlyClickedOutlet = $(this).val();
$.ajax({
url: "DateWiseOlWiseSales",
method: "POST",
data: {
Outlet: currentlyClickedOutlet,
},
});
});
$("#formId").submit(function(event) {
event.preventDefault();
$.ajax({
url: "DateWiseOlWiseSales",
method: "GET",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: {
fromdate: $("#startdate").val(),
todate: $("#enddate").val(),
outlet: $("#all").val()
},
success: function(data) {
//console.log("test",tableValue);
$("#formId").hide();
let formatedData = formatData(data);
renderTable(formatedData);
$('.loader').hide();
$('.overlay').hide();
$("#export").show();
}
});
【问题讨论】:
标签: javascript jquery html ajax forms