【发布时间】:2014-03-10 10:38:03
【问题描述】:
我有一个带有两个提交按钮的查找表单:取消和查找。当它们被点击时,它们都可以正常工作。但是按回车键,总是“取消”提交。我不想更改表单中按钮的顺序。我找到了一个解决方案来防止在“输入”上提交。但我想在输入时提交“查找”。我编写了一个 JavaScript,它在按下 enter 时调用查找按钮的单击操作。这可行,但仍然发送“取消”。
怎么了?
这是我的表格:
<?php echo $this->Form->create(null,array('onsubmit' => 'return submitOnEnter(this);')); ?>
<table>
<tr>
<td><?php echo $this->Form->input('Find.num',array('autofocus'));?></td>
</tr>
<tr>
<td><?php echo $this->Form->input('Find.name');?></td>
</tr>
<tr>
<td><?php echo $this->Form->input('Find.address');?></td>
</tr>
<tr><td align="right">
<?php echo $this->Form->submit('Cancel',array('id'=>'cancel','name'=>'cancel','onmousedown' => 'itsclicked = true; return true;','onkeydown' => 'itsclicked = true; return true;')); ?>
</td></tr>
<tr><td align="right">
<?php echo $this->Form->submit('Find',array('id'=>'find','name'=>'find','onmousedown' => 'itsclicked = true; return true;','onkeydown' => 'itsclicked = true; return true;','onClick'=>"alert('The button was clicked.');")); ?>
</td></tr>
</table>
<?php echo $this->Form->end(); ?>
这是 JavaScript:
function submitOnEnter(form){
if(itsclicked){
return true;
}
document.getElementById('find').click();
return true;
}
'itsclicked' 在页面加载时设置为 false。
【问题讨论】:
标签: javascript php forms cakephp