我想要做的是在有人点击提交按钮时获取所有输入和数据。
我的代码HTML是这样的:
<form id="form" action="index.php" method="POST" class="register" name="Register">
<label>Patient Name:</label>
<input id="pname" name="pname" placeholder="John Doe" type="text" data-role="justText" value=""><br><br>
<label>Phone Number:</label>
<input id="ptel" type="tel" name="ptel" value=""><br><br>
<label>Email:</label>
<input id="pemail" placeholder="example@gmail.com" type="email" value=""><br><br>
<button id="submit" class="submit" type="submit" name="register">Registrar</button>
</form>
不知道是否最好使用按钮或输入标签提交表单。并且jQuery处理我想要做的是:
jQuery.fn.extend({
hello: function () {
submitbutton = $(this).find('button').attr('id');
$inputs = $(this).find('input');
knowInputs = function() {
$inputs.each(function () {
console.log( $(this).attr('name') );
});
}
$('#'+submitbutton).on('click', function () {
knowInputs();
})
return this;
}
});
所以,我把表单ID和init函数放在这样:
$(#form).hello();
P.D。:如果我把代码知道输出在on(click)之外,它似乎工作正常。我的问题是当我点击提交按钮时想要收集所有内容。
任何帮助都应该受到赞赏。提前谢谢!
答案 0 :(得分:2)
表单具有本机Javascript事件submit
。 jQuery还有一个函数$.serialize
,它将表单转换为编码的URL字符串,这可能是您想要的最标准格式。您可以轻松地将其转换为JSON或JS对象。
$('#form').submit(function(e){
e.preventDefault();
return $(this).serialize();
});