播放框架:无法使用javascript读取textfield的值
我无法找到读取电子邮件字段当前值的方法。每次我阅读它时,例如,通过一个keyup事件,都不会检索到任何内容。这个问题只会影响这个领域。我可以毫无问题地读取其他文本字段的值 createFormOnly.scala.html播放框架:无法使用javascript读取textfield的值,javascript,playframework,textfield,template-engine,Javascript,Playframework,Textfield,Template Engine,我无法找到读取电子邮件字段当前值的方法。每次我阅读它时,例如,通过一个keyup事件,都不会检索到任何内容。这个问题只会影响这个领域。我可以毫无问题地读取其他文本字段的值 createFormOnly.scala.html @(signupForm: Form[models.Register], loginForm: Form[Application.Login]) @scripts = { <script src="@routes.Assets.at("java
@(signupForm: Form[models.Register], loginForm: Form[Application.Login])
@scripts = {
<script src="@routes.Assets.at("javascripts/password.js")" type="text/javascript"></script>
}
@main(null, scripts) {
@views.html.guestNavBar(loginForm)
@createFormOnly(signupForm, loginForm)
}
这是我的视图,包含用于打印文本字段值的表单和jquery代码。注意#fullname字段的验证没有任何问题
@(signupForm: Form[models.Register], loginForm: Form[Application.Login])
@import helper._
@implicitFieldConstructor = @{
FieldConstructor(twitterBootstrapInput.render)
}
<div class="well">
<h3>@Messages("signup.new")</h3>
@if(flash.get("error")!=null) {
<p class="error">
<span class="label label-danger">@Messages(flash.get("error"))</span>
</p>
}
@form(controllers.account.routes.Signup.save(), 'id -> "signupForm") {
<script type="text/javascript">
$( document ).ready(
function()
{
// Setup form validation on the signupForm element
$("#signupForm").validate({
// Specify the validation rules
rules: {
email: {
required: true
},
fullname: {
required: true,
namecheck: true
}
},
// Specify the validation error messages
messages: {
email: "<p class='error'><span class='label label-danger'>Email missing.</span></p>",
fullname: "<p class='error'><span class='label label-danger'>Name is already used.</span></p>"
},
// handler which handles the submit
submitHandler: function(form) {
form.submit();
}
});
jQuery.validator.addMethod("namecheck", function(value) {
var dataString = {
"action" : "namecheck",
"display_name" : value
};
var check_result = false;
jQuery.ajax({
type: "GET",
url: "http://localhost:9000/checkName/"+$( '#fullname' ).val(),
async: false,
data: dataString,
dataType: "json",
success: function(data){
check_result = (data.toString() == "true");
}
});
console.log(check_result);
return check_result;
}, "error message");
$('body').on("keyup",'#email', function(){
console.log('keyed email');
console.log($('body #email').val());
console.log($('#email').val());
console.log($('#email').attr('value'));
});
$('body').on("keyup",'#fullname', function(){
console.log('keyed fullname');
console.log($('body #fullname').val());
console.log($('#fullname').val());
console.log($('#fullname').attr('value'));
});
}
);
</script>
<ul class="list-group">
<li class="list-group-item">
@inputText(
signupForm("email"),
'placeholder -> Messages("accout.register.create.email"),
'_label -> Messages("email"),
'class -> "form-control",
'_showConstraints -> false,
'id -> "email"
)
</li>
<li class="list-group-item">
@inputText(
signupForm("fullname"),
'placeholder -> Messages("accout.register.create.fullname"),
'_label -> Messages("fullname"),
'class -> "form-control",
'_showConstraints -> false,
'id -> "fullname"
)
</li>
<li class="list-group-item">
@inputPassword(
signupForm("inputPassword"),
'_label -> Messages("password"),
'placeholder -> Messages("accout.register.create.password"),
'class -> "form-control",
'_showConstraints -> false
)
</li>
<li class="list-group-item">
<div class="form-actions">
<input type="submit" class="btn btn-primary" value="@Messages("signup.signup")">
</div>
</li>
</ul>
}
</div>
jQuery文档中可能有关于“val()”方法的线索: “获取匹配元素集中第一个元素的当前值” 因此,你有:
console.log($('#email').val());
事实上,它可能是除您的输入之外的另一个元素,它正在获得其值输出
检查将输出到浏览器的HTML,以查找ID为“email”的其他元素“电子邮件”是一个非常通用的名称,页面中可能有其他使用此ID的内容。谢谢您的提示!创建我的页面时,会包含@views.html.guestNavBar(loginForm),其中包括一个loginForm,该loginForm还包括一个电子邮件输入字段。
console.log($('#email').val());