当前位置: 首页 > 知识库问答 >
问题:

Jquery不处理href单击

林俭
2023-03-14

我有一个删除超链接

<a href="#" class="btn btn-danger btn-mini" id="delCategory">Delete</a>

和Jquery函数

    $(document).ready(function()
    {
        $("#password_validate").validate({
            rules:{
                current_pwd:{
                    required: true,
                    minlength:6,
                    maxlength:20
                },
                new_pwd:{
                    required: true,
                    minlength:6,
                    maxlength:20
                },
                confirm_pwd:{
                    required:true,
                    minlength:6,
                    maxlength:20,
                    equalTo:"#new_pwd"
                }
            },
            errorClass: "help-inline",
            errorElement: "span",
            highlight:function(element, errorClass, validClass) {
                $(element).parents('.control-group').addClass('error');
            },
            unhighlight: function(element, errorClass, validClass) {
                $(element).parents('.control-group').removeClass('error');
                $(element).parents('.control-group').addClass('success');
            }
        });
        $("#delCategory").click(function(){
            alert("Test");
            if(confirm('Are you sure you want to delete this Category?')){
                return true;
            }
            return false;
        });
    });

代码的其他部分可以访问#password_validate并确保密码字段是必需的和全部。但是来自同一HTML页面的#delcategory无法访问该函数并返回确认。

我可以从Chrome控制台调用Jquery函数并得到弹出和确认,但我的href无法调用它,它在没有确认的情况下处理删除。

共有1个答案

孔彭祖
2023-03-14

event.preventdefault()添加到click(...)事件处理程序中,以防止发生属于该事件的默认操作/行为。即:

Event.PreventDefault()

<form  method="POST" action="/category/{{$id}}">
    @csrf
    @method("DELETE")
    <input type="hidden" name="id" value="{{$id}}">
    <input id="delCategory" type="submit" class="btn btn-danger text-center btn-mini" value="Delete">
</form>

jQuery


$("#delCategory").click(function (e) {

    e.preventDefault();

    if (!confirm('Are you sure you want to delete this Category?')) {
        return;
    }

    const $form = $(this).closest("form");

    $.ajax({
        type: $form.attr("method"),
        url: $form.attr("action"),
        data: {
            "_method": $form.find("input[name=_method]").val(),
            "_token": $form.find("input[name=_token").val(),
            "id": $form.find("input[name=id").val()
        }
    });
});

 类似资料:
  • 我有一个包含一些字段的,每个字段都绑定了一些事件(与此功能无关)。 我必须添加另一个到每个字段,以显示一个模态在第一次点击他们中的任何一个,并且只在第一次点击。 我想的是这样的: 其思想是,在第一次单击之后,方法将从所有元素中删除“click handlers”。 如果不存在其他引用的“点击处理程序”,那就太好了,因为这样我就把它们全部删除了。 我需要从所有字段中只删除这个特定的“单击处理程序”,

  • 我正在浏览一个列表以单击在阿尔基拉尔中找到的阿尔基拉尔按钮 我用XPATH以以下方式捕获它 但什么都没发生 查看我正在捕获的数据并返回按钮的名称 阿尔基拉尔 但是我不能点击按钮 我在问题打印中添加了一个答案(WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,“//a[text()='Alquilar']”)).t

  • 本文向大家介绍jquery+ajax验证不通过也提交表单问题处理,包括了jquery+ajax验证不通过也提交表单问题处理的使用技巧和注意事项,需要的朋友参考一下 validationEngine给我们为前端的表单验证减少了很大的工作量.大部分情况我们使用validationEngine验证表单的形式有几种方式: 1 使用正常的表单提交.这种情况validationEngine验证不通过是不会提交

  • 表单是让用户与我们的网页应用程序交互的基本元素。Flask 本身并不会帮助我们处理表单,但是 Flask-WTF 扩展让我们在我们的 Flask 应用程序中使用流行的 WTForms 包。这个包使得定义表单和处理提交容易一些。 Flask-WTF 我们想要使用 Flask-WTF 做的第一件事情(在安装它以后)就是在 myapp.forms 包中定义一个表单。 # ourapp/forms.py

  • 问题内容: 我已经在这里搜索了问题,但是我对如何在jQuery的AJAX中使用错误处理没有很好的了解(我是菜鸟,所以这真的没有意义。) 有人可以向初学者描述吗?我目前正在通过AJAX将信息发布到PHP脚本,但希望允许jQuery识别从脚本返回的数据是错误还是成功。 谢谢!戴夫 问题答案: 从ajax调用返回的错误是从不成功的页面加载返回结果。可能是您的php页面返回了一个有效的页面,但是结果不是您

  • 本文向大家介绍jquery处理json对象,包括了jquery处理json对象的使用技巧和注意事项,需要的朋友参考一下 在服务器端的php脚本: jquery脚本: 返回到js后的处理: 第一种要用到varl转化的:是字符串的时候就要用eval转化成jquery对象(如下) 第二种:不需要转化的: 循环也有两种方法: