我正在写一小段代码。基本上我正在采用自定义形成的字符串并将其转换为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>
提前致谢。
答案 0 :(得分:1)
它正在消失,因为一旦表单提交,它就会重新加载页面。解决方案是来自return false
处理程序的onsubmit
。这可以防止发生默认操作(提交)。如,
<form name="form1" onsubmit="getString();return false;">
<input type="text" name="txtJob" id="txtJob" value="pizzas@size:"large";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>