tonyliang_id 2016-06-16 16:53 采纳率: 54.8%
浏览 1214
已采纳

为何在submit 按钮的JS里取不到 $("#sample_form") 的参数

问题
想在submit 按钮的JS代码中,检验sample_form 的参数,却发现无法获取 #sample_form 元素,怎么解决?

     $("#form_wizard .button-submit").click(function(h) {
        alert("You just finished the wizard. :-)");  // 按submit 按钮后,该提示正常打印
        $("#sample_form").action="user/performTest";
                // sample_form 定义在html文件中
        alert($("#sample_form").action);  // 打印出来的结果是 undefined
    }).hide();

基本情况:
1,html 文件是 form_wizard.html

2,JS 文件是 form_wizard.js

 "use strict";
$(document).ready(function() {
    var c = $("#sample_form");
    var d = $("#form_wizard");
    var a = $(".alert-danger", c);
    var f = $(".alert-success", c);
    c.validate({
        doNotHideMessage: true,
        focusInvalid: false,
        invalidHandler: function(h, g) {
            f.hide();
            a.show()
        },
        submitHandler: function(g) {
            f.show();
            a.hide();
        }
    });
    var e = function() {
        $("#tab4 .form-control-static", c).each(function() {
            var g = $('[name="' + $(this).attr("data-display") + '"]', c);
            if (g.is(":text") || g.is("textarea")) {
                $(this).html(g.val())
            } else {
                if (g.is("select")) {
                    $(this).html(g.find("option:selected").text())
                } else {
                    if (g.is(":radio") && g.is(":checked")) {
                        $(this).html(g.attr("data-title"))
                    }
                }
            }
        })
    };
    var b = function(k, g, h) {
        /*var str = JSON.stringify(k); 
        alert(str);
        str = JSON.stringify(g); 
        alert(str);
        str = JSON.stringify(h); 
        alert(str);*/

        var l = g.find("li").length;
        var m = h + 1;
        $(".step-title", d).text("Step " + (h + 1) + " of " + l);
        $("li", d).removeClass("done");
        var n = g.find("li");
        for (var j = 0; j < h; j++) {
            $(n[j]).addClass("done")
        }
        if (m == 1) {
            d.find(".button-previous").hide()
        } else {
            d.find(".button-previous").show()
        }
        if (m >= l) {
            d.find(".button-next").hide();
            d.find(".button-submit").show();
            e()
        } else {
            d.find(".button-next").show();
            d.find(".button-submit").hide()
        }
    };
    d.bootstrapWizard({
        nextSelector: ".button-next",
        previousSelector: ".button-previous",
        onTabClick: function(i, g, h, j) {
            f.hide();
            a.hide();
            if (c.valid() == false) {
                return false
            }
            b(i, g, j)
        },
        onNext: function(i, g, h) {
            f.hide();
            a.hide();
            if (c.valid() == false) {
                return false
            }
            b(i, g, h)
        },
        onPrevious: function(i, g, h) {
            f.hide();
            a.hide();
            b(i, g, h)
        },
        onTabShow: function(j, g, i) {
            var k = g.find("li").length;
            var l = i + 1;
            var h = (l / k) * 100;
            d.find(".progress-bar").css({
                width: h + "%"
            })
        }
    });
    d.find(".button-previous").hide();
    $("#form_wizard .button-submit").click(function(h) {
        alert("You just finished the wizard. :-)"); 
        $("#sample_form").action="user/performTest";
        //$("#sample_form").method="GET";
        alert($("#sample_form").action); 
    }).hide();
});
  • 写回答

3条回答 默认 最新

  • Go 旅城通票 2016-06-17 01:09
    关注

    你用的是jquery,要用attr方法获取属性,你那样增加是给当前jquery对象增加自定义属性了,注意是当前的jquery对象,你后面再$一次就是另外一个jquery对象了

       $("#sample_form").attr('action',"user/performTest")
    alert($("#sample_form").attr('action'));  
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥30 BC260Y用MQTT向阿里云发布主题消息一直错误
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退