Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Javascript在html源代码中添加动态数据_Javascript_Html_Dynamic - Fatal编程技术网

如何使用Javascript在html源代码中添加动态数据

如何使用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

我正在使用一个简单的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('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的情况相同,它变为隐藏,并且单选按钮“是”仍然处于检查状态。如果这样做,则浏览器提供的状态为如果由于某些服务器回发而加载了页面,那么这将是一个糟糕的情况。