如何为元素分配HTML5数据值?

时间:2012-04-27 04:52:34

标签: javascript jquery

我有以下代码:

 $.modal({
                    title: title,
                    closeButton: true,
                    content: content,
                    complete: function () {
                        applyTemplateSetup();
                        $('#main-form').updateTabs();
                        $('#main-form').data('action',action);
                        // updated to line below but still does not work
                        $('#main-form').data('action','Edit');
                    },
                    width: 900,
                    resizeOnLoad: true,
                    buttons: {
                        'Submit': function (win) {
                            formSubmitHandler($('#main-form')); 
                        },
                    }

加载数据后,我正在尝试设置数据属性操作。然后我有更多的代码在提交处理程序中读取它:

var formSubmitHandler = function (form) {

    //e.preventDefault();
    var $form = form;
    var val = $form.valid();
    if (!$form.valid || $form.valid()) {

        var submitBt = $(this).find('button[type=submit]');
        submitBt.disableBt();
        var sendTimer = new Date().getTime();

        $.ajax({
            url: $form.attr('action'),
            dataType: 'json',
            type: 'POST',
            data: $form.serializeArray(),
            success: function (json, textStatus, XMLHttpRequest) {
                json = json || {};
                if (json.success) {
                    if ($form.data('action') == "Edit") {
                        $('#modal').removeBlockMessages()
                        submitBt.enableBt();
                    } else {

然而,似乎没有正确设置值,因为当我单步执行代码时,这没有得到真正的值:$form.data('action') == "Edit".我做错了什么?

1 个答案:

答案 0 :(得分:0)

这可能是个问题。

首先你做 - $('#main-form').data('action',action);
我不完全确定action变量的含义,但是从代码的这一行开始 - url: $form.attr('action')我将假设您提供的格式为action。为什么你这样做是你的顾虑,但我确实认为它不是== "Edit"

您在$form.data('action')中获得了什么价值?