使用javascript取消表单提交无法正常工作

用户名

目标:我已经制作了一个包含3个字段的表单,我希望如果表单中只剩下一个空白字段,它会被识别并打印错误消息(每个空白字段)(不发出警报),然后提交表单取消。错误msg最初是隐藏的,并且仅当字段为空时才应使其可见。

问题:停止提交的代码不起作用。请发布任何错误。如果仅使用alert(),它可以工作,并删除代码以显示和删除隐藏的validaeFormOnSubmit()和validateEmpty()。

形成:

<form action="start.php" method="post" onsubmit="return validateFormOnSubmit(this)" >
<table>
  <tbody>
  <tr>
     <td><label for="fname">Team Name:</label><br></td>
    <td><input name="fname"  type="text" autocomplete="off">&nbsp <div id="1"> Field is 
required 
</div></td>
  </tr>   
  <tr>
 <td><label for="contact">Contact 1 :</label> </td>
 <td><input type="text"  maxlength = "10" name="contact" > &nbsp<div id="2"> Field 
 is required </div></td>
  </tr>   
  <tr>
    <td><label for="contact2">Contact 2:</label> </td>
    <td><input type="text"  maxlength = "10" name="contact2" >&nbsp <div id="3"> Field is     
    required </div></td>
  </tr>  
  <tr>
    <td>&nbsp;</td>
    <td><input name="Submit" value="Send" type="submit" ></td>
    <td>&nbsp;</td>
  </tr>
  </tbody>
</table>
</form>

脚本

<script >
$(document).ready(function () {
            var i;
            for(i=1;i<=3;i++)
                {
                var k='#'+i;
                $(k).hide();}

            });

function validateFormOnSubmit(theForm) {
    var reason = "";

   reason += validateEmpty(theForm.fname,1);
   reason += validateEmpty(theForm.contact,2);
   reason += validateEmpty(theForm.contact2,3);

  if (reason != "") {

    return false;
  }
  return true;
  }

  function validateEmpty(fld,k) {
    var error = "";

    if (fld.value.length == 0) {
        fld.style.background = 'Yellow'; 
        error = "error";
        var k='#'+i;
        $(k).show();
    } else {
        fld.style.background = 'White';
        var k='#'+i;
            $(k).hide();
        }
        return error;  
    }
    </script>
尼科斯(Nikos Paraskevopoulos)

我建议以下内容:

  • onsubmit="..."从您的HTML中删除
  • onsubmit编程方式绑定到事件:

    $(...).on("submit", validateFormOnSubmit);
    
  • 相应地更改签名validateFormOnSubmit

    function validateFormOnSubmit(event) {
        // use this instead of theForm
    }
    
  • 而不是返回falsedo event.preventDefault(),即:

    if (reason != "") {
        event.preventDefault();
    }
    

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

表单提交无法正常工作

来自分类Dev

表单提交的Firebase更新无法正常工作?

来自分类Dev

AJAX表单提交无法正常工作

来自分类Dev

表单提交事件无法正常工作(Meteor)

来自分类Dev

Koa 2.0 表单提交无法正常工作

来自分类Dev

使用JavaScript提交Codemirror数据无法正常工作

来自分类Dev

使用JavaScript提交Codemirror数据无法正常工作

来自分类Dev

使用Jquery和Ajax提交后,表单提交第二次无法正常工作

来自分类Dev

表单出现错误时,使用angular.js表单提交的Django无法正常工作

来自分类Dev

具有3个提交的HTML表单,但是JavaScript无法正常工作

来自分类Dev

Javascript:延迟提交无法正常工作

来自分类Dev

使用vuejs或vuex提交表单时formdata.append无法正常工作

来自分类Dev

javascript表单返回但无法正常工作

来自分类Dev

使用提交按钮的Onclick无法正常工作

来自分类Dev

Bootbox回调表单提交无法正常工作

来自分类Dev

Bootbox回调表单提交无法正常工作

来自分类Dev

使用jQuery的表单无法正常工作

来自分类Dev

使用 Angular 表单取消提交

来自分类Dev

无法使用JavaScript从提交表单获取参数

来自分类Dev

为什么我的dropzone JavaScript表单无法正常工作?

来自分类Dev

由于输入错误,JavaScript表单验证无法正常工作

来自分类Dev

HTML表单无法正常工作

来自分类Dev

使用javascript创建div无法正常工作

来自分类Dev

使用innerHTML时JavaScript无法正常工作

来自分类Dev

递归方法无法使用JavaScript正常工作

来自分类Dev

使用innerHTML时JavaScript无法正常工作

来自分类Dev

使用javascript创建div无法正常工作

来自分类Dev

表单提交取消但Javascript不起作用

来自分类Dev

JavaScript无法正常工作

Related 相关文章

热门标签

归档