javascript - 如果未通过客户端验证,则阻止 HTML 表单进行 POSTing

标签 javascript html

基本上,我有一个非常简单的 HTML 表单,当我提交时,它会 POST 到/productos 并运行一个 JS 脚本来验证表单,如果它不正确,它会显示一个错误,一切都很好。

但是我想做的一件事是,如果表单未通过验证,则“取消”POST,有什么办法可以做到吗?

我曾考虑过从 javascript 函数而不是从表单本身进行 POST,但我不知道该怎么做

html:

<form name="registro" action="/productos" method='post' onsubmit="return validacion()">
<div>titulo</div>
<input type="text", name="titulo"/>
<input type="submit">
</form>

js验证:

function validacion(){
    var titulo=document.registro.titulo.value;
    if (titulo == ""){
        alert("error, titulo cant be empty")

    } else if (titulo.length > 100){
        alert("error, titulo cant be more than 100 characters long")
    }

最佳答案

使 validacion() 返回 true 或 false

function validacion(){
    var titulo=document.registro.titulo.value;
    if (titulo == ""){
        alert("error, titulo cant be empty")
        return false;

    } else if (titulo.length > 100){
        alert("error, titulo cant be more than 100 characters long")
        return false;
    }

    return true;
}

关于javascript - 如果未通过客户端验证,则阻止 HTML 表单进行 POSTing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58403008/

相关文章:

javascript - 附加元素后不触发事件

javascript - Firebase存储添加文件引用到firestore

javascript - 如何将数组/json值传递给 angularjs 模式上的选择

javascript - 有没有一种优雅的方法可以将参数对象传递给函数?

html - Prestashop 1.7 页脚图像

javascript - 如何更改 Highcharts 中的区域线颜色

javascript - 使用 jquery 存储值并在其他地方使用它

html - 如何使用 struts1.3 Action 生成动态组合框并在页面提交时也获取其值?

html - 包含图像的通讯 - 移动设备上的图像之间有空格

javascript - 在 HTML 和 Javascript 中使用特殊符号