HTML/JS 如何输入文本并使其显示在屏幕上
HTML/JS How to input text and have it appear on screen
所以,我要做的就是有一个输入框,用户在其中键入文本,当提交文本时,文本出现在屏幕上。我想我快到了,但我遇到了一个问题:文本在屏幕上出现一瞬间,然后消失。以下是相关的 HTML:
<h1 id="outputtext"></h1>
<div id="box">
<form onsubmit="f()">
<input type="text" id="input" placeholder="Enter text" autocapitalize="off" />
<input type="submit" id="submitbutton">
</form>
</div>
和内部的JavaScript:
<script type="text/javascript">
function f() {
var t = document.getElementById("input").value;
document.getElementById("outputtext").innerHTML = t;
}
</script>
就像我说的,输入的文本会出现一瞬间,然后消失。关于如何解决此问题的任何想法将不胜感激。如果这是一个愚蠢的问题,我很抱歉,但我只是一个初学者,这是我第一次使用输入框。我已经搜索了这个论坛和 Web 的其他地区,找不到任何有用的内容。
您的问题是您的事件正在提交,在执行 f() 后,页面正在重新加载。要做到这一点,请将一个事件参数添加到您的 f 函数并对其调用 preventDefault();
。
此外,与其通过 html 属性将事件处理程序添加到对象中,不如在 html 对象上使用 addEventListener。
下面是一个没有 jQuery 的代码示例:
<script type="text/javascript">
function f(e) {
e.preventDefault();
var t = document.getElementById("input").value;
document.getElementById("outputtext").innerHTML = t;
}
document.getElementById("yourform").addEventListener("submit", f);
</script>
注意:您需要向表单元素添加 ID(如 id="yourform"
)。此外,为了避免一些加载问题,请在</body>
之前将脚本标记添加到页面末尾。
编辑:
我的错,我写document.getElementById("yourform").addEventListener("click", f);
而不是document.getElementById("yourform").addEventListener("submit", f);
如果您只想显示文本,则无需创建要提交的表单。只需删除窗体并将f()
函数放入按钮的onclick
事件即可。你的JavaScript函数没问题。
function f() {
var t = document.getElementById("input").value;
document.getElementById("outputtext").innerHTML = t;
}
<h1 id="outputtext"></h1>
<div id="box">
<input type="text" id="input" placeholder="Enter text" autocapitalize="off" />
<button onclick="f()" type="button" id="submitbutton">Click Me!</button>
</div>
当您提交表单时,它会显示输出,然后重新加载页面。这就是为什么你只看到一瞬间。可能的解决方案是在f ()
函数定义的末尾包含一个return false
。
另一个jQuery替代方案:不要调用onsubmit方法,只需使用单击函数:
<-- jQuery CDN --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var t;
$('#submitbutton').click(function() {
t = $('#input').val();
$('#outputtext').text(t);
});
});
</script>
.HTML
<h1 id="outputtext"></h1>
<div id="box">
<form>
<input type="text" id="input" placeholder="Enter text" autocapitalize="off" />
<input type="submit" id="submitbutton">
</form>
</div>
你可以在这里使用 jquery submit 函数。试试下面的这个。.HTML:
<form id="target" action="destination.html">
<input type="text" value="Hello there">
<input type="submit" value="Go">
</form>
<div id="other">
Trigger the handler
</div>
脚本:
$(function() {
$( "#target" ).submit(function( event ) {
alert( "Handler for .submit() called." );
event.preventDefault();
});
});
注意:先加载 jquery cdn,然后再加载 </body>
标签。
什么.....不。。。。no.no您要做的就是希望文本出现在屏幕上,但它会消失,因为您需要存储它的 php 库存,因此当您重新加载网站时它会始终消失,所以您需要的是操作按钮,只需将按钮放在左侧,使其像受保护一样
- 使用图像数组列表的simplegallary.js显示适合桌面屏幕的图像
- 调整屏幕大小后不显示子菜单
- 用HTML在不同屏幕上显示和隐藏内容的方法
- 在网站上显示.mov作为加载屏幕的最佳方式
- 根据屏幕宽度显示块
- 根据屏幕大小显示主干.js集合的子集
- 如何显示显示的html元素:在特定的媒体屏幕上没有
- 根据屏幕分辨率显示自定义背景图像
- 如何将弹出窗口居中显示在屏幕上
- 在Chrome扩展程序中,是否可以截屏并在弹出窗口中显示屏幕
- IE11(Windows Phone 8.1)不感应(显示尺寸)屏幕旋转
- HTML/JS 如何输入文本并使其显示在屏幕上
- 在屏幕上显示选择选项图像
- 在屏幕中央显示图像 CSS jQuery
- 仅在较小的屏幕上显示图像
- 在MVC中的“编辑”屏幕中只显示所需的DDL值
- 如何在Windows 7/8中通过单击文本输入来显示屏幕键盘
- Chrome 中的警告框“未显示” - 屏幕外
- Javascript仅在单击时显示完整图像,否则将显示屏幕
- 从缩略图图像显示屏幕范围的版本