我正在开始使用cakephp,我在构建以下内容时遇到了一些问题:我希望我的应用程序的主页面有4个简单的按钮,可以重定向到不同的创建视图.我怎样才能做到这一点?
我试过这个:
<?php
echo $this->Form->create('Post');
echo $this->Form->button('Redirect1', array('type'=>'button'));
echo $this->Form->button('Redirect1', array('type'=>'button'));
echo $this->Form->button('Redirect1', array('type'=>'button'));
echo $this->Form->end();
?>
Run Code Online (Sandbox Code Playgroud)
但我想不需要提交表格吗?但是我在搜索中没有找到其他方式.是不是只可以点击按钮点击页面?
谢谢
表单按钮不应该用作简单的链接,无论如何,你创建按钮,然后添加一些javascript或jQuery,使其按照你想要的方式工作,就像Justin说的那样.(虽然我通常更喜欢使用带代码的外部.js文件)
另一种选择是为链接添加一种样式,使其具有按钮的外观,例如:
echo $this->Html->link("Demo", array('controller' => 'yourcontroller','action'=> 'youraction', $possibleParameter), array( 'class' => 'button'))
Run Code Online (Sandbox Code Playgroud)
按钮可以定义为:
a.button {
color: #6e6e6e;
font: bold 12px Helvetica, Arial, sans-serif;
text-decoration: none;
padding: 7px 12px;
position: relative;
display: inline-block;
text-shadow: 0 1px 0 #fff;
-webkit-transition: border-color .218s;
-moz-transition: border .218s;
-o-transition: border-color .218s;
transition: border-color .218s;
background: #f3f3f3;
background: -webkit-gradient(linear,0% 40%,0% 70%,from(#F5F5F5),to(#F1F1F1));
background: -moz-linear-gradient(linear,0% 40%,0% 70%,from(#F5F5F5),to(#F1F1F1));
border: solid 1px #dcdcdc;
border-radius: 2px;
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
margin-right: 20px;
cursor:pointer;
}
a.button:hover{
color: #333;
border-color: #999;
-moz-box-shadow: 0 2px 0 rgba(0, 0, 0, 0.2);
-webkit-box-shadow:0 2px 5px rgba(0, 0, 0, 0.2);
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
}
a.button:active {
color: #000;
border-color: #444;
}
Run Code Online (Sandbox Code Playgroud)
我在寻找类似问题时发现了这个问题.在我看来,最简单的方法是:
$this->Html->link($this->Form->button('Button'), array('action' => 'viewSomethin',$id), array('escape'=>false,'title' => "Click to view somethin"));
Run Code Online (Sandbox Code Playgroud)
也许那对某人有用.