对html和javascript的质疑
我试图编写一些代码,发送一个表单,首先确保表单是否正确填写。当我点击“enviar formulario”按钮时,它不会调用javascript代码,也不会做任何事情对html和javascript的质疑,javascript,html,Javascript,Html,我试图编写一些代码,发送一个表单,首先确保表单是否正确填写。当我点击“enviar formulario”按钮时,它不会调用javascript代码,也不会做任何事情 <html> <head> <script type="text/javascript"> function test() { if(document.getElementById("nombre").value.length() < 2){ alert
<html>
<head>
<script type="text/javascript">
function test() {
if(document.getElementById("nombre").value.length() < 2){
alert("Error");
return 1;
}
else if(!document.getElementById("edad").value.isInteger()){
alert("Error");
return 1;
}
else if(!document.getElementById("email").value.includes("@")){
alert("Error");
return 1;
}
else{
document.getElementById("formulario").submit();
}
}
</script>
</head>
<body>
<form id="formulario"action = "https://postman-echo.com/get"
method = GET type=text>
Nombre: <input id="nombre" type="text"/>
<br><br>
Edad: <input id="edad" type="text"/>
<br><br>
E-mail: <input id="email" type="text"/>
</form>
<button onclick= "test()">Enviar formulario</button>
</body>
</html>
功能测试(){
if(document.getElementById(“nombre”).value.length()<2){
警报(“错误”);
返回1;
}
如果(!document.getElementById(“edad”).value.isInteger()){
警报(“错误”);
返回1;
}
else如果(!document.getElementById(“email”).value.includes(“@”)){
警报(“错误”);
返回1;
}
否则{
document.getElementById(“formulario”).submit();
}
}
名义:
Edad:
电邮:
环境公式
您正在比较整个输入标记的长度,而不是其中的文本
if (document.getElementById("nombre").value.length < 2)
{
...
}
if (!document.getElementById("edad").value.isInteger())
{
...
}
if(document.getElementById(“nombre”).value.length<2)
{
...
}
如果(!document.getElementById(“edad”).value.isInteger())
{
...
}
以此类推……没有比document.getElementById(“nombre”).length()更好的了。 如果您试图读取输入文本的长度,请执行此操作
document.getElementById("nombre").value.length
编辑1:
没有isInteger()方法。因此,请改用parseInt()
这将是您的工作代码
<html>
<head>
<script type="text/javascript">
function test() {
if(document.getElementById("nombre").value.length < 2){
alert("Error");
return 1;
}
else if(!parseInt(document.getElementById("edad").value)){
alert("Error");
return 1;
}
else if(!document.getElementById("email").value.includes("@")){
alert("Error");
return 1;
}
else{
document.getElementById("formulario").submit();
}
}
</script>
</head>
<body>
<form id="formulario"action = "https://postman-echo.com/get"
method = GET type=text>
Nombre: <input id="nombre" type="text"/>
<br><br>
Edad: <input id="edad" type="text"/>
<br><br>
E-mail: <input id="email" type="text"/>
</form>
<button onclick= "test()">Enviar formulario</button>
</body>
</html>
功能测试(){
if(document.getElementById(“nombre”).value.length<2){
警报(“错误”);
返回1;
}
else如果(!parseInt(document.getElementById(“edad”).value)){
警报(“错误”);
返回1;
}
else如果(!document.getElementById(“email”).value.includes(“@”)){
警报(“错误”);
返回1;
}
否则{
document.getElementById(“formulario”).submit();
}
}
名义:
Edad:
电邮:
环境公式
首先,请检查您的控件是否达到测试方法,使用调试器(我更喜欢chrome)
之后,在代码处于断点时,在控制台中检查语法
你可以在这里分享你的发现我在任何地方都看不到“enviar formulario”按钮……ups,我会编辑itAlright,我已经更改了。但是按钮无论如何都不起作用。我点击按钮,什么也没发生。可能按钮没有调用函数。更新了我的答案。非常感谢。我现在理解了我的错误,但我认为我可以使用这种方法。语法类似于这个数字。isInteger(value)值是mandatory,我知道了。谢谢这是我第一次使用JS和调试器,所以我不确定我是否使用得很好,但它说isInteger()不是一个函数,有些是lenght()的