如何使用Javascript在html源代码中添加动态数据
我正在使用一个简单的Javascript切换函数和以下代码如何使用Javascript在html源代码中添加动态数据,javascript,html,dynamic,Javascript,Html,Dynamic,我正在使用一个简单的Javascript切换函数和以下代码 <script> function add_more(){ if (document.form.more[0].checked==true) { document.getElementById('moreTxt').style.display="block"; } else if (document.form.more[1].checked==true) { document.getElementById('more
<script>
function add_more(){
if (document.form.more[0].checked==true)
{
document.getElementById('moreTxt').style.display="block";
}
else if (document.form.more[1].checked==true)
{
document.getElementById('moreTxt').style.display="none";
}
}
</script>
do want to enter something more ?
<form name="form">
<input type="radio" value="yes" name="more" onclick="add_more()" /> Yes
<input type="radio" value="No" name="more" onclick="add_more()" /> No
<div id="moreTxt" style="display:none">
hi you can enter more here
<textarea rows="3" cols="4">
</textarea>
</div>
</form>
函数add_more(){
if(document.form.more[0]。checked==true)
{
document.getElementById('moreTxt').style.display=“block”;
}
else if(document.form.more[1]。checked==true)
{
document.getElementById('moreTxt').style.display=“无”;
}
}
是否要输入更多内容?
对
不
您好,您可以在这里输入更多信息
问题是,如果我单击“是”,出于某种原因刷新页面,则“是”单选按钮保持选中状态,但moreTxt div
隐藏(即默认的可见模式)
如何解决此问题?检查document ready上控件的值,并相应地调整div可见性。这将重置加载时的所有输入:
<script>
function resetChkBox() {
var e=document.getElementsByTagName('input');
var i=0;
while(i<e.length) {
if(e[i++].type=='radio') {
e[i].checked=false;
}
}
}
</script>
<body onload="resetChkBox()">
函数resetChkBox(){
var e=document.getElementsByTagName('input');
var i=0;
而(i您应该在DucomentReady上执行添加更多功能
假设您使用的是jquery:
$(document).ready(function() {
add_more();
}
)
或者使用与document.ready()相同的纯javascript,如果要在没有jquery的情况下执行此操作,则应该使用jquery,因为将jquery包含在这样一个小东西中会有些过分:
document.attachEvent("onDOMContentLoaded", function(){
ready()
});
在就绪功能中,检查单选按钮的值。为什么不将true或false作为参数传递给add_more()功能?当您单击“是”或单击“是”后手动刷新页面时,页面是否会刷新?我看不出有什么问题:我的代码工作正常,我想要的是,使用javascript。我在html页面中写入任何内容,但这不显示在页面的源代码中,我想将此数据传递到数据库中,而来自此div的数据不可用简而言之,我想保留单选按钮的状态,即使页面刷新。问题是,当页面刷新时,所有元素都设置为其默认属性,与moreTxt div的情况相同,它变为隐藏,并且单选按钮“是”仍然处于检查状态。如果这样做,则浏览器提供的状态为如果由于某些服务器回发而加载了页面,那么这将是一个糟糕的情况。