CakePHP onClick for form-> end

时间:2014-07-09 08:46:01

标签: cakephp cakephp-2.3

我想包含一个javascript函数来阻止用户提交表单两次,但我只是无法在提交点击时调用该函数。这是我尝试过的:

<?php echo $this->Form->end(__('Save'), array('onclick'=>'submit();'));?>

我浏览了文档,看起来Form-&gt;结尾并没有采用这样的参数,这真的很奇怪。这可能是真的吗?

非常感谢任何信息或帮助

2 个答案:

答案 0 :(得分:0)

你需要这样做: -

$options = array(
    'label' => 'submit',
    'div' => FALSE,
    'onclick'=>'submit()'
);
echo $this->Form->end($options);

这将产生: -

<input type="submit" value="submit" onclick="submit()">

文档:Click Here

答案 1 :(得分:0)

另一种解决方案是在/** * GValue: * * An opaque structure used to hold different types of values. * The data within the structure has protected scope: it is accessible only * to functions within a #GTypeValueTable structure, or implementations of * the g_value_*() API. That is, code portions which implement new fundamental * types. * #GValue users cannot make any assumptions about how data is stored * within the 2 element @data union, and the @g_type member should * only be accessed through the G_VALUE_TYPE() macro. */

中使用onSubmit
$this->Form->create()

在你的JavaScript中使用一个标志来跟踪表单是否已提交,如果有,则返回false。如果它没有返回true并且表单将提交。

您可能还希望在第一次提交表单时禁用提交按钮,以便向用户明确表示无法再次提交表单。