Jquery检测“;输入“;按键而不是单击鼠标
Jquery detecting "enter" key press instead of mouse click
我遇到一个问题,jquery在提交表单时检测到"enter"键而不是鼠标点击提交按钮。
在第一次尝试时,提交按钮工作良好,之后它只能使用enter键。
表单代码
<a class="btn btn-xs btn-info" onclick="gModal(<?php echo $group['Group']['id'];?>,'<?php echo $group['Group']['name'];?>')"><?php echo __('Edit'); ?></a>
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel">Modal title</h4>
</div>
<div class="modal-body">
<p id="groupId"></p>
<?php echo $this->Form->create('Group',array('class'=>'edit-group'));?>
<?php echo $this->Form->input('group_id',array('class'=>'group-id','type'=>'hidden'));?>
<?php echo $this->Form->input('name',array('class'=>'form-control group-name','type'=>'text'));?>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<?php echo $this->Form->button('Save Changes',array('class'=>'btn btn-default'));?>
<?php echo $this->Form->end();?>
</div>
</div>
</div>
</div>
Jquery代码
//handle modal
function gModal(groupId,groupName){
console.log(groupId);
$('.group-name').empty();
$('.group-name').val(groupName);
$('.group-id').val(groupId);
$('#groupId').html(" ");
$('#groupId').append(groupId);
$('#myModal').modal('toggle');
}
//handle form submit
var request;
function editGroup(){
$('.edit-group').on('submit', function(event) {
console.log('clicked form');
event.preventDefault();
var $form = $(this).find("input");
var url = "<?php echo Router::url(array('plugin' => 'auth_acl','controller' => 'groups','action' => 'edit')); ?>";
var serializedData = $form.serialize();
request = $.ajax({
url: url,
type: 'post',
dataType: 'json',
data: serializedData,
});
request.done(function(data) {
console.log(data);
$('#myModal').modal('toggle');
$('#container').load('<?php echo $this->webroot; ?>auth_acl/groups');
});
request.fail(function(data) {
console.log(data);
});
});
}
$(document).ready(function($) {
editGroup();
});
我现在不知道。谢谢你的时间。
更换
<?php echo $this->Form->button('Save Changes',array('class'=>'btn btn-default'));?>
此代码带有
<? echo $this->Form->button('Submit Form', array('class'=>'btn btn-default','type' => 'submit'));?>
按钮类型应为Submit
我认为您可以使用onchange事件来表示enter事件。例如<button type="button" onchange="theFunction();">Submit</button>
相关文章:
- 单击鼠标,用MySQL数据填充html表单输入字段
- 如何防止用户使用javascript或jquery在链接中单击鼠标中键
- 单击鼠标时如何停止重复功能
- 单击鼠标在画布上绘制一个实心圆
- Jquery检测“;输入“;按键而不是单击鼠标
- 在YouTube视频上单击鼠标静音/取消静音
- 按下esc键或随机单击鼠标时,Jcrop失去焦点
- jquery键并单击鼠标
- 在边界外单击鼠标关闭弹出框
- 尝试在画布中单击鼠标以添加图像
- 如何避免在浏览器 JavaScript 中双击时(单击鼠标)处理
- 在 Firefox 中单击鼠标时无法选择所有输入元素文本
- 在淘汰赛中更改 css 类.js单击鼠标
- 在单击时对元素进行动画处理,并在该元素和其他元素上单击鼠标输入/鼠标离开
- 在jquery中单击鼠标
- 如何在网页上单击鼠标或鼠标悬停时播放部分音频文件
- 我的 js 函数在第二次单击鼠标后被调用
- 单击鼠标时文本输入更改类
- 有没有办法模拟每次单击鼠标左键时按 Ctrl 键
- 如何使用 Raphael.js 在每次单击鼠标时触发旋转动画