代码之家  ›  专栏  ›  技术社区  ›  Swift

jQuery已提交与正在提交

  •  0
  • Swift  · 技术社区  · 14 年前

    我正在开发一个jQuery函数,它将表单数据转发到页面,而不影响正常的提交。我可以做它没有任何问题,只要我捕获提交使用 .submit() ,但我必须对数据运行自己的验证,因为它独立于常规提交。jQuery(或任何Javascript)是否有方法检测表单数据是否已发布和验证?

    干杯, 迈克

    编辑:

    工作流如下所示:
    1.用户输入数据
    2.单击“提交”
    3.站点运行验证并接受输入
    4.将数据提交到新页面
    5.jQuery函数检测到新数据已提交并被接受,因此它运行。

    为清晰起见,请进行更多编辑

    我想你们错过了这个问题。我知道如何检测正在提交的表单(这很好,很漂亮)

    不是 我想要的是:

        $(this).each(function(){
               $(this).submit(function(){
                    *** Code ***
               }
           }
    

    3 回复  |  直到 14 年前
        1
  •  1
  •   Taylor Bird    14 年前

    编辑:原澄清

    如果您希望服务器只接收已验证的数据,那么只需确保在客户端验证发生之前未将其提交到。你可以有选择地打电话 event.preventDefault() 基于验证结果。

    $("#form").submit(function(event) {
    
         //some stuff
         if (validate(formdata) == false) { 
            event.preventDefault();
         } 
    
    });
    

    如果希望服务器执行验证并提交给自身或其他服务,则应将其作为服务器端工作流的一部分。所以就好像

    1.)客户端提交到服务1

    3.)Services1提交给Service2(这样Service2就不会从别处接收代码)

        2
  •  2
  •   mattbasta    14 年前

    使用 onsubmit="" 在你的 <form>

    <form action="?" method="post" onsubmit="validate_and_submit(this);return false;">
    

    这个 return false 事实上 提交,这样你就可以用AJAX做一些事情了。

        3
  •  2
  •   NM.    14 年前

    这里需要的是AJAX。因此,向您的服务器发出一个XHR请求并发布数据。服务器的响应现在将转到回调函数(jquery函数)。如果数据被验证并且没有问题,您可以继续,否则您将停止。