我一直在寻找很多功能,让我阻止用户在我的输入上写空间但我似乎无法与我合作的任何人......也许我不是只是以正确的方式做到这一点,我感激一点帮助。
这是我的HTML表单:
<table>
<form name="form_registar" method="post" action="registado.php" onsubmit="return validateForm()">
<tr>
<td colspan="2" align="center">
<input type="text" name="user" placeholder="Nome de Utilizador" id="textboxEmail" maxlength="20">
</td>
</tr>
<tr>
<td>
<input type="password" name="pw" placeholder="Password" id="textbox" maxlength="15">
</td>
<td>
<input type="password" name="cpw" placeholder="Confirmar Password" id="textbox" maxlength="15">
</td>
</tr>
<tr>
<td>
<input type="text" name="nome" placeholder="Nome" id="textbox" onkeypress="return isLetter(event)" maxlength="15">
</td>
<td>
<input type="text" name="apelido" placeholder="Apelido" id="textbox" onkeypress="return isLetter(event)" maxlength="15">
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="text" name="email" placeholder="E-mail" id="textboxEmail" maxlength="50">
</td>
</tr>
<tr>
<td>
Data de Nascimento:
</td>
<td>
<input type="date" name="dataNasc" id="textbox">
</td>
</tr>
<tr>
<td>
Masculino<input type="radio" name="sex" value="M" checked>
</td>
<td>
Feminino<input type="radio" name="sex" value="F">
</td>
</tr>
<tr>
<td>
<button type="submit" class="submit-button"><b>Registar</b></button>
</td>
</form>
<form action="index.html">
<td>
<button type="submit" class="submit-button">Cancelar</button>
</td>
</form>
</tr>
</table>
我想阻止用户在一个或多个输入字段中写入空格。我无法知道如何。
编辑:isLetter和isNumber是仅允许用户分别写字母和数字的函数。
其他信息: 这是我的javascript函数,我正在寻找阻止用户写空间的函数:
/* APENAS PERMITE NUMEROS */
function isNumber(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
return true;
}
/* APENAS PERMITE LETRAS */
function isLetter(evt) {
evt = (evt) ? evt : event;
var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode :
((evt.which) ? evt.which : 0));
if (charCode > 31 && (charCode < 65 || charCode > 90) &&
(charCode < 97 || charCode > 122)) {
return false;
}
return true;
}
/* VALIDAR O FORM */
$(function chora() {
$('#user').on('keypress', function chora(e) {
if (e.which == 32)
return false;
});
});
function validateForm() {
/* USERNAME */
var a = document.forms["form_registar"]["user"].value;
if (a == null || a == "") {
alert("O Username não está preenchido.");
return false;
}
/* PASSWORD */
var b = document.forms["form_registar"]["pw"].value;
if (b == null || b == "") {
alert("A password não está preenchida.");
return false;
}
/* CONFIRMAR PASSWORD */
var c = document.forms["form_registar"]["cpw"].value;
if (c == null || c == "") {
alert("A confirmação de password não está preenchida.");
return false;
}
/* NOME */
var d = document.forms["form_registar"]["nome"].value;
if (d == null || d == "") {
alert("O nome não está preenchido.");
return false;
}
/* APELIDO */
var e = document.forms["form_registar"]["apelido"].value;
if (e == null || e == "") {
alert("O apelido não está preenchido.");
return false;
}
/* EMAIL */
var f = document.forms["form_registar"]["email"].value;
var atpos = f.indexOf("@");
var dotpos = f.lastIndexOf(".");
if (atpos < 1 || dotpos < atpos + 2 || dotpos + 2 >= f.length) {
alert("O E-mail não se encontra devidamente preenchido.");
return false;
}
/* DATANASC */
var g = document.forms["form_registar"]["dataNasc"].value;
if (g == null || g == "") {
alert("A Data de Nascimento não está preenchida.");
return false;
}
/* CONFIRMAÇAO PW*/
var h = document.forms["form_registar"]["pw"].value;
var i = document.forms["form_registar"]["cpw"].value;
if (h != i) {
alert("As passwords não correspondem.");
return false;
}
}
答案 0 :(得分:1)
我为此制作了一个Jsfiddle。看看这里。
我使用过&#39; keyCode&#39;和&#39;哪个&#39;功能。 这适用于浏览器和IOS ipad和iphone,但不适用于Android手机。他们没有注册KeyCode&#39;或者&#39;哪个&#39;或者&#39; keyChar&#39;
var keycode;
$('.nospace').keypress(function (event) {
keycode = (event.charCode) ? event.charCode : ((event.which) ? event.which : event.keyCode);
if (keycode == 32) {
return false
};
});
检查jsfiddle链接。 http://jsfiddle.net/shinde87sagar/P5Kjr/4/
答案 1 :(得分:0)
onkeypress
为时已晚。试试onkeydown
。
答案 2 :(得分:0)
您可以通过检查空格键是否按下然后返回false
来阻止用户使用空格键:
$("input").on("keydown", function (e) {
return e.which !== 32;
});
答案 3 :(得分:0)
jQuery代码
$("input").on({
keydown: function (e) {
if (e.which === 32) return false;
},
change: function () {
this.value = this.value.replace(/\s/g, "");
}
});
答案 4 :(得分:0)
我建议你看一下jQuery。 然后你可以使用它:
$('#textbox').on('keydown',function(){
var $this = $(this);
var value = $this.val();
$this.val(value.replace(/\s+/g,'')); // remove all whitespace characters
});
此外,您有多个ID为“textbox”的元素。每个id都应该是唯一的。