gpt4 book ai didi

javascript - 如何让 CakePHP 在按下 Enter 时发送第二个提交按钮?

转载 作者:行者123 更新时间:2023-11-28 08:26:50 25 4
gpt4 key购买 nike

我有一个带有两个提交按钮的查找表单:取消和查找。当它们被点击时,它们都可以正常工作。但按回车键,总是“取消”提交。我不想更改表单中按钮的顺序。我找到了一个解决方案来完全阻止“输入”提交。但我想在输入时提交“查找”。我编写了一个 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。

最佳答案

请尝试这个

这可能不是您问题的绝对答案,但这会对您有很大帮助。

请使用以下代码作为取消按钮

<?php echo $this->Form->submit('Cancel',array('type'=>'button','id'=>'cancel','name'=>'cancel','onmousedown' => 'itsclicked = true; return true;','onkeydown' => 'itsclicked = true; return true;','onClick'=>"cancelFind();")); ?>

然后使用JavaScript函数进行取消操作:

function cancelFind(){
alert('Do what you want to do!');
}

使用以下代码进行查找操作:

function submitOnEnter(form){
alert('Do the find operation here!.');
}

谢谢

关于javascript - 如何让 CakePHP 在按下 Enter 时发送第二个提交按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22297876/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com