我正在努力实现一些非常小的目标。我会尽力解释。
我有一个包含多项选择、年份、月份和日期的选项表单。每当用户选择某些内容时,就会提交表单,以便我可以从数据库中获取数据。
<form role="form" action="" method="post">
<select class="form-control" id="day" name="day" onchange="this.form.submit()">
<option>- Dummy option -</option>
<option>- Dummy option -</option>
<option>- Dummy option -</option>
<option>- Dummy option -</option>
</select>
</form>
一个代表日、月和年。
元素的 ID 是 "day", "month", "year"
。
我试图默认显示今天的日期,它会自动获取今天的信息。
由于我对 JS/JQ 比较陌生,所以我尝试将选项设置为今天的日期:
var fYear = CurrentDate.getFullYear();
var fMonth = CurrentDate.getMonth()+1;
var fDay = CurrentDate.getDate();
$("#year").val(fYear);
$("#month").val(fMonth);
$("#day").val(fDay);
问题是每当用户选择一个选项时,它会不断重新附加今天的日期,覆盖用户的选择。
-- 问题 --
当用户未对选择表单进行任何操作时,我该如何只显示今天的日期?如果用户未更改表单,则仅显示日期。
谢谢。
最佳答案
我相信您可能想使用 jQuery.ajax这将允许您在不刷新页面的情况下提交表单。
假设您的页面名为 page.html
并且您的 HTML 类似于 -
<form id="myform" role="form" action="" method="post">
<select class="form-control" id="day" name="day" onchange="this.form.submit()">
<option>- Dummy option -</option>
<option>- Dummy option -</option>
<option>- Dummy option -</option>
<option>- Dummy option -</option>
</select>
</form>
你的 javascript 应该是这样的
$("#myform").submit(function(event){
event.preventDefault();
$.ajax({
type: "post",
url: "page.html",
data: $(this).serialize(),
success: function (result) {
..... do something with the result
},
error: function() {
..... report the error
}
});
关于javascript - 保留 jquery 选项值,保存用户的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32689392/