我有一个登录表单,用户(尚未登录)可以插入他的登录名和密码,在填写这些字段后,用户必须按下提交按钮。
我要做的是:用一些css样式替换$ html->链接的正常提交按钮。
无论如何,我可以使用这样的东西:
<span class = "licitateThis clearfix">
<?php echo $html->link(__("Sign In", true), array("type" => "Sign In", 'class'=>'licitate')); ?>
</span>
而不是:
echo $form->end(__('Sign In',true));
为小型登录表单创建提交按钮?
我的css代码:
.licitateThis{position:relative;float:left;width:100%;}
.licitateThis a.licitate{display:block;float:left;padding:2px 0 4px;width:100%;background-color:#eee;text-shadow:#fff 1px 1px 1px;text-decoration:none;font-weight:bold;font-size:115%;border:1px solid #fff;border-radius:3px;text-align:center;letter-spacing:-0.02em;text-transform:uppercase;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}
.licitateThis a.licitate:hover,.licitateThis:hover a{background-color:#0071bb;text-shadow:#666 1px 1px 1px;color:#fff;}
PS: 表单我试图提交一个登录表单,它位于default.ctp,因此它可以在每个页面中使用。
问题已解决:
CSS(创建了一个新类):
.loginSubmit {color:#0071bb;outline:none; display:block;float:left;padding:2px 0 4px;width:100%;background-color:#eee;text-shadow:#fff 1px 1px 1px;text-decoration:none;font-weight:bold;font-size:115%;border:1px solid #fff;border-radius:3px;text-align:center;letter-spacing:-0.02em;text-transform:uppercase;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}
.loginSubmit:hover {background-color:#0071bb;text-shadow:#666 1px 1px 1px;color:#fff;}
PHP:
<button type="submit" class="loginSubmit">Sign In</button>
<?php echo $form->end(); ?>
感谢。
答案 0 :(得分:1)
你想在这做什么?您需要为提交按钮使用锚<a>
标记的任何原因吗?
如果你想要的只是让你的提交按钮看起来像一个链接,那么你可以使用css。
或者,如果您只想将提交按钮放在</form>
标记旁边的其他位置,那么您只需将<button type="submit" class="licitate">Sign In</button>
放在表单内的任何位置,然后使用<?php echo $form->end(); ?>
关闭形式。
答案 1 :(得分:0)
他的问题是锚标签无法在没有javascript的情况下提交表单。 $ html-&gt;链接创建一个链接,而不是提交的输入类型,而不是提交类型的按钮。
如果您只想使用按钮,请手动编写CORRECT html。
... other form code here
<button type="submit" class="licitation">
Sign In
</button>
<?php echo $form->end( );
答案 2 :(得分:0)
如果我理解了您想要尝试的问题,如果您的用户已经登录? 如果是这样,首先创建一个检查用户是否登录的函数。 然后检查
<span class = "licitateThis clearfix">
<?php if(userisalreadyloggedin())
echo '<a href="login.php" class ="licitate"> Singin</a>';
?>
</span>
答案 3 :(得分:-1)
<a href="#" onclick="document.formName.submit()">
与cakephp可能
<?php echo $html->link(__("Sign In", true), array("type" => "Sign In", 'class'=>'licitate', 'onClick' => 'document.formName.submit()')); ?>