Javascript 表单HTML未得到更新。
这有点奇怪Javascript 表单HTML未得到更新。,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,这有点奇怪 <form> <input type="text" id="test" value="abc" /> <input type="submit" /> </form> <script> $('form').submit(function(ev){ ev.preventDefault(); alert($(this).html()); }); </script> $('form')
<form>
<input type="text" id="test" value="abc" />
<input type="submit" />
</form>
<script>
$('form').submit(function(ev){
ev.preventDefault();
alert($(this).html());
});
</script>
$('form')。提交(函数(ev){
ev.preventDefault();
警报($(this.html());
});
我更改了输入字段的值,然后单击submit以获取HTML,但是该值在HTML中没有更新?怎么回事?如何获取更新的HTML?属性
值显示默认值,而不是当前值(在同名的DOM属性中可用)
如果要获取当前值,则必须循环所有表单控件并从DOM获取它们的值。用户输入的内容永远不会更改HTML。它是一个表单值,将作为参数发送到服务器
请看这里:
您正在读取初始HTML-页面上的更改值在此HTML中不会更改。请尝试:
$('form').submit(function(ev){
ev.preventDefault();
alert($('#test').val());
});
…获取输入值。如果要获取任何输入值,请使用
$('form').submit(function(ev){
ev.preventDefault();
alert($("#test").val());
});
$('input').val();
在表单中,您可以使用.serialize();更改值的输入不会更改文档对象模型(DOM)
解决方案
$('form').submit(function(ev) {
ev.preventDefault();
var newinputval = $(this).find('input[type=text]').val();
var newhtml = $(this).html();
newhtml = newhtml.replace("abc", newinputval);
alert(newhtml);
});
如您所见,我首先接收新的输入值,然后获取HTML并用当前的输入值替换DOM的值。现在它正是您想要的
更改输入元素的属性值时,属性“Value”不会更改。您是要获取表单的HTML还是要获取输入“test”的更新值?必须使用$('test').val()获取输入值。如果要获取ajax的序列化格式的所有表单值,请使用$(this.serialize())
$('form').submit(function(ev){
ev.preventDefault();
alert($("#test").val());
});
$('input').val();
$('form').submit(function(ev) {
ev.preventDefault();
var newinputval = $(this).find('input[type=text]').val();
var newhtml = $(this).html();
newhtml = newhtml.replace("abc", newinputval);
alert(newhtml);
});