我已经要求对在Ember.js中创建的应用程序进行调整,但我没有太多使用它的经验。我删除/添加了字段,添加了必要的文本,最后要完成的任务是验证字段(电话号码)以确保它们是相同的。它适用于我的localhost,但它不适用于Ember应用程序。
这是Ember.js
$(function(){
var $primaryNo = $("input[name='primary_phone']");
var $confirmNo = $("input[name='confirm_phone']");
var $btn = $('#button');
$primaryNo.keypress(function(key) {
if(key.charCode < 48 || key.charCode > 57)
return false;
});
$confirmNo.keypress(function(key) {
if(key.charCode < 48 || key.charCode > 57)
return false;
});
$btn.click(function() {
if ($primaryNo.val() !== $confirmNo.val()) {
alert('The numbers from the Primary Phone field and the Confirm Primary Phone field do not match. Please re-enter');
} else {
return true;
}
});
});
这是我的jQuery
|
我已经使用console.log进行了一些测试,Ember应用程序正在拾取我已经包含的.js文件,但是当我在字段中插入两个不同的数字时单击提交时,它不会提醒用户他们不对。
有什么想法吗?
答案 0 :(得分:0)
尝试事件委托:
$(function(){
var $primaryNo = $("input[name='primary_phone']");
var $confirmNo = $("input[name='confirm_phone']");
var $btn = $('#button');
$('body').on('keypress',$primaryNo,function(key) {
if(key.keyCode < 48 || key.keyCode > 57)
return false;
});
$('body').on('keypress',$confirmNo,function(key) {
if(key.keyCode < 48 || key.keyCode > 57)
return false;
});
$('body').on('click',$btn,function(e) {
e.preventDefault();
if ($primaryNo.val() !== $confirmNo.val()) {
alert('The numbers from the Primary Phone field and the Confirm Primary Phone field do not match. Please re-enter');
} else {
$(this).closest('form').submit();
}
});
});