1

我有一个 AJAX 脚本,可以处理页面上的多个表单之一。因为每个页面上都有许多由 PHP 循环生成的表单,所以各个输入字段的 ID 都有一个序号,使用变量 $form

每个表单都有两个提交按钮,具有不同的值,我想将其作为变量传递,使用隐藏的输入字段,以触发处理表单的不同操作,即

<input type='hidden' id='button$form' value='' />
<button type='submit' class='submit_s' value='view' style='margin-right:20px' onclick='return setHiddenButtonValue(this.value);'>View</button>
<button type='submit' class='submit_s' value='email' style='margin-right:20px' onclick='return setHiddenButtonValue(this.value);'>Email</button>

表单中的数据使用表单中的 AJAX 脚本进行处理:

var form_data = {
            name: $jform.find("[id^=name]").val(),
            date: $jform.find("[id^=date_hidden]").val(),
            time: $jform.find("[id^=time]").val(),
}

所以我可以为此添加一个隐藏按钮输入的条目,即:

    button: $jform.find("[id^=button]").val(),

然后以这样的方式使用它:

    if (form_data.button == 'email') {
        $jform.fadeOut(800);
    }

我不知道该怎么做是如何将变量传递给隐藏的按钮输入。如您所见,我已经为每个提交按钮添加了一个 onclick 事件,然后我希望将以下内容添加到我的 jQuery 中会起作用:

    function setHiddenButtonValue(buttonValue)
{
    $j("[id^=button]").value = buttonValue;
    return true;
}

但它不起作用。有人可以让我直截了当吗?

4

1 回答 1

0

我不确定您是否可以修改所有浏览器中的隐藏输入。另外,恐怕jquery中没有 .value() 方法:)所以只需使用$j("[id^=button]").val(buttonValue);.attr('value', buttonValue);

于 2013-02-25T11:01:56.827 回答