我一直试图获取表单输入元素的值,但我对它没有任何好运。
我在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();
再次感谢!
答案 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();