我正在尝试使用函数将用户输入的内容打印到文本框中。我在提交按钮上使用onClick作为属性。我知道我把它设置得恰当,因为它闪烁了答案,但只是一瞬间。如何获得留在页面上的输入?这是代码:HTML:输入您要发布到网站的内容!
HTML:
<div id="main_div">
<section id="leftbox">
<form name="mybox">
Type what you want to post to the website!:
<br />
<input type="textbox" size="15" maxlength="15" name="text" id="text">
<br />
<input type="submit" value="Submit!" onClick="doFirst()">
</form>
</section>
</div>
<div id="insert"></div>
使用Javascript:
function doFirst(){
text = document.getElementById('text');
insert = document.getElementById('insert');
if(text.value == "")
{
insert.innerHTML = "Please input something!";
return false;
}
else
{
insert.innerHTML = text.value;
}
}
答案 0 :(得分:1)
试试这个: 使用type = button
<input type="button" value="Submit!" onClick="doFirst()">
或使用type = submit
<form name="mybox" onsubmit="doFirst(); return false;">
<input type="submit" value="Submit!">
</form>
说明:
执行提交按钮 DO 时onclick
的操作。你一直看到页面没有任何变化,因为有一个 FORM 。关键点:表单立即处理JS函数doFirst()
之后的提交操作。使用onsubmit
在表单中添加return false
以停止默认操作,意味着:
<form name="mybox" onsubmit="return false;">
<input type="button" value="Submit!" onClick="doFirst()">
</form>
要简化更改,请使用按钮代替提交类型,或使用onsubmit而不是onclick in form触发器。
答案 1 :(得分:0)
onClick="doFirst()"
转换为匿名函数:
function(){ doFirst() }
以及该函数返回的任何内容确定提交是应该完成还是中止,因此您应该使用:
onClick="return doFirst();"
换句话说,doFirst返回的东西还不够,无论doFirst返回什么都应该在onClick内再次返回。