使用input type =“submit”更改内容

时间:2012-09-27 21:33:30

标签: javascript html submit

好吧,我很确定我在这里遗漏了一些非常明显的东西,但到目前为止我找不到合适的解决方案。我想要做的很简单:让用户在表单中写入内容,让他提交表单,并将该输入写入同一页面上的textarea。

这是我的代码:

<html><head></head>
<body>
<form name='registration'>
<label for="input">Input:</label>
<input type="text" id="input"/>
<input type="submit" id="submit" value="Submit" onclick="execute()"/>
</form>

<div id="results">
<span>Result</span>
<span><textarea cols="30" rows="5" id="resulttext" readonly="readonly"></textarea> </span>
</div>

<script>
function execute()
{
    var result = document.getElementById("input").value

    document.getElementById("resulttext").value=result;
}
</script>

</body>
</html>

现在如果我在表单中输入内容会发生什么,textarea会在恢复显示任何内容之前简要显示我的输入。我的猜测是textarea字段只在execute()函数的持续时间内改变。

当我将input type="submit"更改为<button>时,一切都按预期工作,但我很确定我不应该这样做。

2 个答案:

答案 0 :(得分:2)

您需要取消提交按钮的默认事件,否则它只是提交表单(在这种情况下,基本上会重新加载页面,因为没有带名称的表单元素)。在return false;之后添加execute()(在{2}之间添加;

答案 1 :(得分:1)

由于您的按钮属于submit类型,因此它会在执行execute()方法后提交您的表单。您可以将按钮类型更改为type="button",但您不会有此提交行为。

http://jsfiddle.net/PCCbh/

注意 - 在这种情况下使用<button>是可以的。它与<input type="button"基本相同。