我有一个form
,其中有2个input
字段,
**step1:**我将在submit
I log
上填充2 input fields
到console
,但我看到没有与键入的input
相关联的值。
**问题:**像这样的value="your typed value"
,如何在form submission
期间获取设置值。
所有我想要的是typed value
后form submit
下面是我的代码:
$('#sub').click(function(e) {
e.preventDefault();
console.log($('form').html());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<form>
<p>
<span>Enter you name</span>
<input type="text" name="name" id=""/>
</p>
<p>
<span>Enter your city</span>
<input type="text" name="city" id=""/>
</p>
<p>
<input type="submit" id="sub" value="SUBMIT ME SIR" />
</p>
</form>
6条答案
按热度按时间hsvhsicv1#
在更改输入值并按下“SUBMIT ME SIR”之后,它仍然返回带有默认值的HTML。
请尝试上面的代码片段?我觉得这对你有帮助。
e4yzc0pl2#
使用jQuery中的
serializeArray()
函数。你可以这样做
这里是一个工作演示:http://jsfiddle.net/Lepd897h/1/
希望这有帮助!
vpfxa7rd3#
使用以下命令代替
console.log($('form').html());
:根据您的最后评论:-
因为
[type=text]
元素上没有[value]
属性。如果你需要在console.log()
中显示它们,那么你必须像下面这样显式设置:ql3eal8s4#
lb3vh1jj5#
如果你想获取表单元素的单个值,你可以使用jQuery val()
如果是为了将表单数据发布到后端,则需要使用jQuery serializeArray()序列化表单数据
这将返回一个JSON对象,表单数据作为键值对
8dtrkrch6#
你可以使用jQuery的
serializeArray()
或serialize()
函数来获取数组或querystring格式的post数据。