我正在构建一个使用一个标签表单的提交按钮的科尔多瓦应用程序,问题是这是一个移动应用程序,所以当点击我的文本输入时,写点东西而不是点击确认我的手机键盘按钮,我的问题发生。因为当我点击这个按钮时,我想移动到下一个输入,但我的应用程序执行我的提交方法。我必须对我的应用程序进行下一个输入,如果只有这是我的上一个输入,那么请验证是否所有输入都已填充。表单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