Php 钝化形式作用

Php 钝化形式作用,php,javascript,jquery,html,forms,Php,Javascript,Jquery,Html,Forms,我想钝化表单操作,因为我用js提交表单。但若有表单动作js不起作用,页面会重定向动作url。我删除了表单标签,并将div标签与#combination id一起放入,但这两个标签都不起作用 js: html: 您必须使用“preventDefault”防止表单的默认行为,然后启动ajax调用或其他任何操作;) 您确实无法以这种方式调用处理程序的问题: handler(eventObject)每次触发事件时要执行的函数 基本上发生了什么,你没有提交表单,而是重定向了 想想连锁店: 使用jqu

我想钝化表单操作,因为我用js提交表单。但若有表单动作js不起作用,页面会重定向动作url。我删除了表单标签,并将div标签与#combination id一起放入,但这两个标签都不起作用 js:

html:




您必须使用“preventDefault”防止表单的默认行为,然后启动ajax调用或其他任何操作;)


您确实无法以这种方式调用处理程序的问题:

handler(eventObject)每次触发事件时要执行的函数

基本上发生了什么,你没有提交表单,而是重定向了

想想连锁店:

  • 使用jquery为表单调用submit方法
  • 虽然事件为表单触发,但在表单实际提交之前,您更改了位置
  • 这将取消提交,而是将您重定向到任何位置
  • 如果你真的想这样做,你可以通过以下两种方式:

  • 提交表单后服务器端的重定向
  • 正如前面所说的,使用
    ajax
    提交到处理程序中,并以任意方式禁用默认操作

    $("#combination").submit(function(event){
        event.preventDefault();
        // code here
    });
    


  • 像这样重置位置不会提交表单……如果没有Ajax,就无法使用JavaScript提交表单。你打算这么做吗?什么是被动的?此外,您没有阻止默认表单提交事件的发生,这就是页面刷新的原因。@ExplosionPills,这不仅仅是ajax,您还可以form.submit()@deceze:钝化,钝化都与之相关,在化学和工程中,钝化指的是材料变为“被动”。虽然这个词本身有意义,但我认为它在这个问题上的用法不正确。@ExplosionPills,是的,但一般来说。submit()!=ajax,它只是通过编程提交:)
        <form id="combination" action="" method="get" name="combination" target="_self">
        <?php foreach($top_tags as $top_tag):?>
            <input type="checkbox" name="tag[]" value="<?php echo $top_tag['tag_name'];?>" /><?php echo $top_tag['tag_name'];?><br />
            <?php endforeach;?> 
        <input name="" type="submit">
        </form>
    
    $("#combination").submit(function(event){
      event.preventDefault();
      var url = "www.myurl.com/?view=listen&";
    
      var i = 0;
      $("input:checked").each(function(){
          url += "tag[" + i + "]" + $(this).val() + "&";
          i++;
      });
      alert(url);
      location.href = url;
    
    });
    
    $("#combination").submit(function(event){
        event.preventDefault();
        // code here
    });
    
     $("#combination").submit(function(event){
        // code here
        return false;
     });