文件ElementID('id').innerHTML=只闪烁一次,然后它'他走了

document.ElementID('id').innerHTML = goes only blinks once and then it's gone

本文关键字:一次 然后 他走了 id ElementID innerHTML 文件 闪烁      更新时间:2023-09-26

我正在编写一小段代码。从本质上讲,我接受了一个自定义格式的字符串,并将其转换为json。它是有效的,但我给它写信的部分在页面上闪烁,就不见了。当我把document.getElementId…..放在函数调用之外时,它显示未定义。有没有想过如何应对这种情况?

Input like:
    pizzas@size:"large";toppings:sausage
<form name="form1" onsubmit="getString()">
    <input type="text" name="txtJob" id="txtJob" value="">
    <input type="submit" value="Submit">
</form>
<p id="myJson"></p>
<script>
    var myString, w, tableName, x;
    function getString(){
        myString = document.getElementById("txtJob").value;
        w = myString.split("@");
        tableName = w[0];
        alert(tableName);
        x = w[1].split(";");
        myLength = x.length-1;
        document.getElementById("myJson").innerHTML=
        '<h1>'+ tableName + '</h1>';
    }
</script>

提前谢谢。

它正在消失,因为一旦表单提交,它就会重新加载页面。解决方案是从onsubmit处理程序中调用return false。这样可以防止发生默认操作(提交)。例如

<form name="form1" onsubmit="getString();return false;">
    <input type="text" name="txtJob" id="txtJob" value="pizzas@size:&quot;large&quot;;toppings:sausage">
    <input type="submit" value="Submit">
</form>
<p id="myJson"></p>
<script>
    var myString, w, tableName, x;
    function getString(){
        myString = document.getElementById("txtJob").value;
        w = myString.split("@");
        tableName = w[0];
        alert(tableName);
        x = w[1].split(";");
        myLength = x.length-1;
        document.getElementById("myJson").innerHTML=
        '<h1>'+ tableName + '</h1>';
    }
</script>

小提琴