bootstrap3 表单使用
表单使用具体参考官方文档:
问题描述:
表单FormData初始化值为空。
解决办法:
初始化必须使用 var formData = new FormData(document.forms.namedItem("myform")); //自动添加
使用 document.getElementById("myform") 取值为空。
原因:
可能内部代码不支持(猜测)
<form class="form-horizontal" name="myform">
<div class="form-group">
<label for="email" class="col-sm-2 control-label">Email</label>
<div class="col-sm-10">
<input type="email" id="email" class="form-control" name="email" placeholder="Email">
</div>
</div>
<div class="form-group">
<label for="password" class="col-sm-2 control-label">Password</label>
<div class="col-sm-10">
<input type="password" id="password" class="form-control" name="password"
placeholder="Password">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<div class="checkbox">
<label>
<input type="checkbox" name="checkbox"> Remember me
</label>
</div>
</div>
</div>
</form>
<div class="col-sm-offset-2 col-sm-10">
<button id="button1" class="btn btn-default" onclick="load()">Sign in</button>
</div>
<script type="text/javascript">
function load() {
var username = document.getElementById('email').value;
var password = document.getElementById('password').value;
if (username.length < 2 || password.length < 2) {
alert('格式不正确!');
return;
}
console.log(username);
console.log(password);
// 1.创建一个FormData对象,直接把我们的表单传进去
/*var formData = new FormData();
formData.append("email", username);
formData.append("password", password);*/ 手动添加。
var formData = new FormData(document.forms.namedItem("myform")); //自动添加
console.log("formData");
console.log(formData.get("email"));
// 2.通过jquery发送出去
$.ajax({
url: "/login",
type: "POST",
data: formData,
processData: false, // 告诉jQuery不要去处理发送的数据
contentType: false // 告诉jQuery不要去设置Content-Type请求头
}).done(function (resp) {
alert('success!');
}).fail(function (err) {
alert('fail!')
});
}
</script>