所以我一直在四處看看代碼,看看有什麼可以通過JavaScript。我有一個代碼,目前正在檢查一個表單是否有空元素,並拒絕提交它是否爲空。事情是我試圖添加一個警報,如果元素是空的,並提示如果元素不是空的,但它不起作用。我似乎沒有足夠的瞭解Java腳本來編輯它。JavaScript來檢查空的表單元素,拒絕提交如果空,發送提醒消息
這裏是表格。忽略奇怪的類和div名稱,它們是以這種方式設置的,因爲表單提交給Google文檔電子表格。
<form class="quickemailform" action="https://docs.google.com/spreadsheet/formResponse?formkey=dGp3YUxCTGtWd251ZXVfOEtwc1hhWVE6MQ&ifq" method="post" target="hidden_iframe" onsubmit="submitted=true;" id="ss-form" name="frm1" onsubmit="InputChecker()">
<br>
<div class="errorbox-good">
<div class="ss-item ss-item-required ss-text">
<div class="ss-form-entry">
<label class="ss-q-title" for="entry_0">
<font class="formtitles">FULL NAME:</font>
</br>
<label class="ss-q-help" for="entry_0"></label>
<input type="text" name="entry.0.single" value="" class="ss-q-short" id="entry_0" size="42">
</div>
</div>
</div>
<div class="errorbox-good">
<div class="ss-item ss-item-required ss-text">
<div class="ss-form-entry">
<label class="ss-q-title" for="entry_1">
<font class="formtitles" id="compnam">COMPANY NAME:</font>
</br>
<label class="ss-q-help" for="entry_1"></label>
<input type="text" name="entry.1.single" value="" class="ss-q-short" id="entry_1" size="42">
</div>
</div>
</div>
<div class="errorbox-good">
<div class="ss-item ss-item-required ss-text">
<div class="ss-form-entry">
<label class="ss-q-title" for="entry_2">
<font class="formtitles" id="emailadd">EMAIL ADDRESS:</font>
<br>
<label class="ss-q-help" for="entry_2"></label>
<input type="text" name="entry.2.single" value="" class="ss-q-short" id="entry_2" size="42">
</div>
</div>
</div>
<div class="errorbox-good">
<div class="ss-item ss-item-required ss-paragraph-text">
<div class="ss-form-entry">
<label class="ss-q-title" for="entry_3">
<font class="formtitles" id="request">Your Request:</font>
<font class="fineprint">(SUMMARIZE IMPORTANT DETAILS)</font>
<br>
</label>
<label class="ss-q-help" for="entry_3"></label>
<textarea name="entry.3.single" cols="32" rows="10" class="ss-q-long" id="entry_3"></textarea>
</div>
</div>
</div>
<input type="hidden" name="pageNumber" value="0">
<input type="hidden" name="backupCache" value="">
<div class="ss-item ss-navigate"><div class="ss-form-entry">
<input class="submitbuttons" type="submit" name="submit" value=" " src="" border="0" onclick="myFunction()" />
</div>
</div>
</form>
這裏是JavaScript拒絕提交的表單,如果任何字段爲空。我在網上獲得了這個代碼,我沒有自己寫。它已經過測試和運作,但我希望它不僅僅是拒絕提交。
<script type="text/javascript">
(function() {
var divs = document.getElementById('ss-form').
getElementsByTagName('div');
var numDivs = divs.length;
for (var j = 0; j < numDivs; j++) {
if (divs[j].className == 'errorbox-bad') {
divs[j].lastChild.firstChild.lastChild.focus();
return;
}
}
for (var i = 0; i < numDivs; i++) {
var div = divs[i];
if (div.className == 'ss-form-entry' &&
div.firstChild &&
div.firstChild.className == 'ss-q-title') {
div.lastChild.focus();
return;
}
}
})();
</script>
如果可能的話,我想知道我怎麼能當窗體被拒絕或接受添加提醒。此外,如果表單被拒絕,我想擁有它讓我有類似
<font class="asterick" div="your_name_ast">*</font> or <font class="asterick" div="company_name_ast">*</font>
,並有asterick旁顯示的每個空元素如果窗體否認沒有提交。比如讓表單檢查每個元素是否爲空。如果腳本發現元素爲空,則會彈出一個提示,提示「表單未填充,請使用*查看所有元素」。然後它會出現星號。
感謝任何已閱讀過此內容的人。
編輯:做一些環顧四周越來越似乎警報被認爲是不好的做法。這是真的?有沒有其他方式可以讓用戶知道元素是否爲空?
你有沒有看[jQuery驗證(http://docs.jquery.com/Plugins/Validation)和/或類似的?不確定「拒絕時提醒」是什麼意思,但想法是,用戶通過表單條目「被引導」,直到用戶提供了足夠的(經過驗證的)信息繼續。 – EdSF
拒絕,因爲如果任何表單元素爲空,javascript會保留提交的表單。 – jddg5wa
當使用html5時,您可以將所需內容添加到輸入中,然後,瀏覽器將檢查提交,如果輸入不是空的或無效的,就像輸入字段中輸入電子郵件並且沒有輸入電子郵件地址 – zeyorama