以形式显示文本为HTML,显示和显示
令人难以置信的简单。有人提出了类似的问题,但我无法使其发挥作用。我是JavaScript的中级初学者,但是对于jQuery来说是全新的。我只想将一个文本输入捕获到一个变量中(稍后用于提交API),现在将其显示在网页上以确认我捕获了它。我试图避免使用JavaScript来获得价值,以了解这个jQuery。以形式显示文本为HTML,显示和显示
我的HTML:
<form id='myForm'>
Zip: <input type="text" id='zip' />
<input type="submit" value="Submit" id='submit' />
<p id='showZip'>Not here yet</p>
</form>
我的jQuery:
$(document).ready(function() {
$('#submit').click(function() {
var myZip = $('#zip').val();
$('#showZip').html(myZip);
});
});
编辑:我的意思是补充,它实际工作,我简要地看到HTML,然后将其重置。
尝试使用preventDefault();
(),它将防止表单提交和重置。
为此,作如下更新您的代码:
$(document).ready(function() {
$('#submit').click(function(event) {
event.preventDefault();
var myZip = $('#zip').val();
$('#showZip').html(myZip);
});
});
这就是我正在寻找的。我曾看过它,但无法再为此找到它。谢谢! – hikinthru
一般而言,jQuery和Javascript不会持续跨页面提交,除非它存储在一个像<input>
那样能够这样做的元素中,然后在重新加载时将该值传回页面(使用您首选的服务器端技术)。
既然你已经有了,将举行你的价值元素,考虑增加一个name
属性,它可以让你的服务器端代码中访问值:
<!-- The name attribute will post the value in this to a key named 'zip' -->
<input type="text" id='zip' name='zip' />
关于你的代码
您的代码实际上应该是正确的,但是当您的表单被提交时,页面标记的任何更改(即设置您的showZip
元素的HTML)将被删除,如下所示:
您会注意到替换正在发生在实际页面被刷新之前,因为它被发布到服务器。
请说明您的代码所期望的行为,或不想要的一个,如果事情是错的。到目前为止,我可以告诉你,你没有避免提交表单,'.click'中的函数接受一个事件对象的参数,将其命名为'ev',并调用ev.preventDefault()',以便表单不提交和重新加载页面,或类似的东西。 –
对不起,表格很差,我忘了添加行为。我在编辑条目。我认为你正在解决我的问题。请参阅上文。 – hikinthru