[英]how to prevent form submission based on date comparison
我有一個表單,我想從用戶那里得到一條消息和一個日期。 提交表單時,它們都不能為空。
如果文本字段為空(這是一個 CKeditor 富文本字段),我會阻止表單提交,並且它工作得很好。 但是,當我想檢查日期時(不能提交今天之前的日期),它不起作用!
這是我正在嘗試做的事情:
<form name="submit_quote" id="submit_quote" action="{% url 'submit_quote' %}" method="POST" enctype="multipart/form-data">
{% csrf_token %}
<input type = 'date'
class="input_date"
placeholder="yyyy-mm-dd"
name='when_is_required_date_{{ item.tag }}{{ item.id }}'
id='when_is_required_date_{{ item.tag }}{{ item.id }}'
required
min="2021-01-31"
pattern="\d{4}-\d{2}-\d{2}">
<textarea name="message"
id="message"
class="form-control"
maxlength="4096"
onkeyup="textCounter(this,'counter',4096);"
autofocus required
style="height: 150px !important; " ></textarea>
<input
disabled
maxlength="4"
size="4"
value="4096"
id="counter"
style="background-color: rgb(255, 255, 255); border: none; right: 0px;" >
<div class="form-row">
<div class="col-12 col-sm-12 col-md-2 col-lg-2 col-xl-2 mx-auto">
<div class="form-group">
<button class=" btn btn-gray text-light"
style="background-color: #6c757d;"
type="submit"
value="Send"
onClick="return empty()"
>
Send
</button>
</div>
</div>
</div>
</form>
而且,我檢查如下輸入字段:
<script type="text/javascript">
var today = new Date();
var dd = String(today.getDate()).padStart(2, '0');
var mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0!
var yyyy = today.getFullYear();
today = yyyy + '-' + mm + '-' + dd;
console.log('today: ', today);
$('#submit_quote').submit(function()
{
var dateControl = document.querySelector('.input_date');
alert('input date: ', dateControl);
if (jQuery("#cke_1_contents iframe").contents().find("body").text() === "" || dateControl <= today) {
alert('Please enter your message or a correct date.');
return false;
}
});
</script>
如何防止用戶提交今天之前的日期或空日期?
如果您比較 2 個字符串,則您是在比較 ascii 代碼。
console.log(typeof dateControl); // String
console.log(typeof today); // String
var startOfToday = new Date(today).getTime();
console.log(typeof startOfToday); // Number
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.