我一直在嘗試一段時間(一段時間=整天),以找出爲什麼我的表單有這個奇怪的問題。我有一個客戶想要一個獨立的HTML頁面在本地運行,它將顯示一個帶有幾個文本框和一個按鈕的窗體。輸入信息後,用戶單擊該按鈕,第二個窗體應顯示新的文本框。表單不能重定向到其他網站或文件。這一切都必須在該(HTML)文件中。在HTML中隱藏/顯示錶單會產生異常結果
我想到這將是最容易與jQuery做,但加載整個庫只是爲了隱藏一種形式是愚蠢的。所以我看看其他選項並決定使用純Javascript。
問題是,當我第一次單擊「下一個」第一個窗體消失,但接着一秒鐘後,像發送某種請求一樣。貝婁是我目前擁有的代碼。我嘗試製作一個JSFiddle,但每次訪問它時瀏覽器都會阻塞。
的Javascript:
function hideAll() {
document.getElementById('first').style.display = 'block';
document.getElementById('second').style.display = 'none';
showFirstForm();
}
function showFirstForm() {
if (document.getElementById('second').style.display == 'block') {
document.getElementById('first').style.display = 'block';
document.getElementById('second').style.display = 'none';
}
}
function showSecondForm() {
if (document.getElementById('first').style.display == 'block')
{
document.getElementById('second').style.display = 'block';
document.getElementById('first').style.display = 'none';
}
}
HTML:
<body class="if5" onload="hideAll()"> // I'm loading hideAll() on refresh to hide second form
....
<!-- FORM 2 -->
<form id="first" action="#" class='tx_anmelden' method="post" autocomplete="off" >
<filedset>
<label for="name"> Your name </label>
<input name="name" value="MyName" /></input>
<button onClick="showFirstForm()">Next</button>
</filedset>
</form>
<!-- FORM 1 -->
<form id="second" class='tx_anmelden'>
<fieldset>
<label for="name"> Your name </label>
<input name="name" value="MyNaffffffme" /></input>
<button onClick="showSecondForm()">Next</button>
</fieldset>
</form>
....
參考:
你是說,以顯示在第二形式的第二形式,並顯示在第一個第一種形式。看到問題了嗎? – epascarello
@epascarello是正確的,你有正確的註釋,但切換窗體中的id。你也有其他一些問題,我在我的答案中放置了一個可用的jsfiddle鏈接。 – RustyToms