无法设置隐藏输入字段的值

Unable to set val of hidden input field

本文关键字:字段 输入 隐藏 设置      更新时间:2023-09-26

我有下面的代码,我试图用java脚本设置隐藏字段的值。

<script type="text/javascript" language="javascript">
var currentTime = new Date();
var tday=currentTime.getDate();
var tmonth=currentTime.getMonth();
var tyear=currentTime.getFullYear();
$("input[name='tday'").val(tday);
$('#tmonth').val(tmonth);
$('#tyear').val(tyear);
document.getElementById('tday').value='213';


</script>
<div id="edit_bs" class="edit_bs_st">
<form id='edir_pers' class='edit_pers_css' name='edit_pers' action='edit_pers.php' method='post'>
<input id='tyear' name='tyear'/>
<input id='tmonth' type='hidden' name='tmonth'  />
<input id='tday' type='hidden' name='tday' />
<button type="submit">Submit</button></from>

问题是没有将值传递给"edit_pers.php",它们是空白的。我甚至尝试过document.getlementid.value来设置值,但没有任何效果。我不知道我的代码出了什么问题。

hidden与它无关。它是您对元素的调用。

这就是你:破碎

$("input[name='tday'").val(tday);

这是固定的

$('input[name=tday]').val(tday);

结果如下。

$(document).ready(function () { 
   var currentTime = new Date();
   var tday=currentTime.getDate();
   $('input[name=tday]').val(tday);
}):

顺便说一句,代码中不需要冗余的标识符。我个人会这样做,因为您可能需要具有name属性。

HTML

<input type='hidden' name='tday' />

Javascript

 $('input[name=tday]').val(tday);

http://jsfiddle.net/Uh7yn/

问题的一部分是您的代码在元素存在于DOM中之前运行。

由于您使用的是jQuery,因此避免此问题的最佳方法是使用document.ready处理程序。但是,您必须确保jQuery已加载到页面上。

$(function () {
    //since your inputs have ids, you do not have to use any attribute selectors
    $('#tday').val(213);
});

此外,您在结束的form标记中有一个拼写错误。