在表格中获取多个隐藏表单值的值

时间:2012-01-11 21:56:17

标签: php jquery

我一直试图获取表单输入元素的值,但我对它没有任何好运。

我在PHP的while循环中有以下形式,因此会有多种形式。

<form method='POST' action=".$_SERVER['SCRIPT_NAME']." name='form_set_deadline' class='form_set_deadline'>
    <input type='hidden' value='".$data3['unique_name']."' name='file_id' class='file_id' />
    <input type='hidden' value='".$user_id."' name='client_id' class='client_id' />
    <table>
        <tr>
            <td align='left'><input type='button' name='set_file_options' value='Submit' class='set_file_options' /></td>
        </tr>
    </table>
</form>

现在,我试图获取jquery隐藏字段的值,但只是不知道如何访问隐藏字段值。请记住,页面上有多个这些表单。这是一个jquery表单,包含在一个函数中。

function setFileOptions(){
    $('.set_file_options').each(function(e){
        $(this).unbind("click").click(function(e){
            e.preventDefault();
            //set form variables
            var file_id = // DON'T KNOW HOW TO GET THE HIDDEN FIELD INPUT VALUE?

            alert(file_id); 
        }); //END THIS CLICK FUNCTION
    });
 } //END MAIN FUNCTION

感谢您的帮助/提示!

因此,在收到您的所有输入后,我决定使用以下内容获取所有表单数据:

var form_data = $(this).closest('form').serialize();

再次感谢!

5 个答案:

答案 0 :(得分:3)

var file_id = $(this).closest('form').find('.file_id').val();

或者,纯JS解决方案:

var file_id = this.form.elements['form_id'].value;

选择所有 <input type="hidden"/>元素的选择器:

var hiddens = $(this).closest('form').find(':hidden');
//hiddens.eq(0) = file_id
//hiddens.eq(1) = client_id

如果您的类名没有任何附加内容,我建议删除这些属性,并使用名称属性选择器:

var file_id = $(this).closest('form').find('[name="file_id"]').val();

答案 1 :(得分:1)

试试这个,

$(this).closest('form').find(':hidden'); //应该为您提供表单中的隐藏字段

并且可能有多个字段,因此您可能需要迭代来获取所有隐藏字段,

var field_val = [];

$.each ($(this).closest('form').find(':hidden'), function (index) {
   field_val [$(this).attr('class')] = $(this).val();
});

答案 2 :(得分:0)

var file_id = $(this).closest('table').siblings('.file_id').val()

答案 3 :(得分:0)

你试过了吗?

var file_id = $('input[name="file_id"]').val();

答案 4 :(得分:0)

试试这个:

var fileid = $(this).parents('form').find('.file_id').val();