如何使用jQuery将值传递给具有顺序ID的输入字段?

时间:2013-02-24 18:42:33

标签: jquery ajax onclick

我有一个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;
}

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

1 个答案:

答案 0 :(得分:0)

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