我正在構建一個使用一個標籤表單的提交按鈕的科爾多瓦應用程序,問題是這是一個移動應用程序,所以當點擊我的文本輸入時,寫點東西而不是點擊確認我的手機鍵盤按鈕,我的問題發生。因爲當我點擊這個按鈕時,我想移動到下一個輸入,但我的應用程序執行我的提交方法。我必須對我的應用程序進行下一個輸入,如果只有這是我的上一個輸入,那麼請驗證是否所有輸入都已填充。表單html,鍵入提交
這是我的html代碼:
<form id="form">
<label for="idNome"> Nome: </label> <input name="nome" id="idNome"
placeholder="Seu Nome" required autofocus autocomplete="on"><br>
<label for="idCpf"> CPF:</label> <input type="tel"
autocomplete="on" name="cpf" id="idCpf" placeholder="Seu CPF"
required> <img style="display: none;" id="idValidadeCPF"
src=""><br>
<label for="idEndereco"> Endereço:</label>
<textarea id="idEndereco" rows="1" cols="30"></textarea><br>
<label for="idMensagem"> Mensagem: </label><br>
<textarea cols=30 id="idMensagem" rows="10" name="mensagem"
maxlength="500" wrap="hard"
placeholder="Informe datalhes sobre o seu problema." required></textarea><br>
<input type="submit" value="Enviar" onclick="submitForm()" />
這是我submitForm方法
function submitForm(){
document.getElementById('form').onsubmit= function(e){
e.preventDefault();
alert("Todos os campos devem ser preenchidos");
}
}
感謝您的幫助大衛,我明白你說的是什麼,問題在於搜索onde網頁,我不明白使用「preventDefault()」。我想要的是一種方法,用於驗證是否所有輸入都已填充,如果已填充,我想提交,否則不會。另一個問題是,當我點擊我的移動鍵盤提交按鈕時,我不想提交我的表單,我只想傳遞給我的表單的下一個輸入。 – Caaarlos
@Caaarlos:你在這裏談論幾個問題,每一個都應該分解成它自己的功能。表單驗證可以採用多種形式。它可能與檢查JavaScript代碼一樣簡單,如果表單元素中有值,則* then *僅當條件找到空值時調用'.preventDefault()'。至於將焦點從一個表單元素傳遞到另一個表單元素,這應該有所幫助:http://stackoverflow.com/q/17500704/328193 – David
再次感謝David,我在考慮使用'.preventDefault()'來檢查是否全部我的表單的輸入被填充,但'.preventDefault()'沒有這樣做。所以我現在改變了我的代碼,讓我們看看它是否是正確的形式......我創建了一些var,它接收我的元素的值,如下所示:'var usuarioNome = document.forms [0] .elements [1] .value ;',現在我將驗證它的值是否爲空或「」o「」。如果這是真的我使用'.preventDefault()'。這是正確的嗎? – Caaarlos