Javascript innerHTML没有发布

时间:2014-04-10 03:12:41

标签: javascript html posting

我正在尝试使用函数将用户输入的内容打印到文本框中。我在提交按钮上使用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; 
  } 
}

2 个答案:

答案 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内再次返回。