首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用输入type="submit“更改内容

使用输入type="submit“更改内容
EN

Stack Overflow用户
提问于 2012-09-28 05:33:30
回答 2查看 656关注 0票数 0

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

这是我的代码:

代码语言:javascript
运行
复制
<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字段仅在execute()函数的持续时间内更改。

当我将input type="submit"更改为<button>时,一切都正常工作,但我非常确定我不应该这么做。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-28 05:36:09

您需要取消submit按钮的默认事件,否则它只会提交表单(在本例中,这实际上是重新加载页面,因为没有带有名称的表单元素)。在execute()之后添加return false;(在两个片段之间放一个; )

票数 2
EN

Stack Overflow用户

发布于 2012-09-28 05:39:39

因为您的按钮是submit类型,所以它将在执行execute()方法之后提交您的表单。您可以将按钮类型更改为type="button",这样就不会有这种提交行为。

http://jsfiddle.net/PCCbh/

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12630342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档