2009-12-30 4 views
1

사용자가 아직 로그인하지 않은 로그인 양식에 로그인 및 비밀번호를 삽입 할 수있는 필드를 채운 후 사용자가 제출 버튼을 눌러야합니다.양식 링크로 HTML 링크 사용

나는 무엇을하려하고있다 : $ html-> link에 대한 일반적인 제출 버튼을 일부 CSS 스타일로 바꾼다. A는 작은 로그인 양식 제출 '버튼을 만들

echo $form->end(__('Sign In',true)); 

:

<span class = "licitateThis clearfix"> 
    <?php echo $html->link(__("Sign In", true), array("type" => "Sign In", 'class'=>'licitate')); ?> 
</span> 

대신 :

그래서 나는 이런 식으로 뭔가를 사용할 수 있습니다 어쨌든 있나요?

내 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(); ?> 

감사합니다.

답변

1

? 제출 버튼에 앵커 <a> 태그를 사용해야하는 이유는 무엇입니까?

제출 버튼을 링크처럼 보이게하려면 css를 사용하면됩니다. 당신이 당신이 다른 곳에서 다른 </form> 태그 옆에 비해 제출 '버튼을 넣어하려는 경우

은 또는, 당신은 단지 형태의 아무 곳이나 <button type="submit" class="licitate">Sign In</button>을 넣어 형태를 닫 <?php echo $form->end(); ?>를 사용할 수 있습니다.

+0

+0

나는 css costumization이라는 칭호가 있습니다. 제출 버튼에 그것을 사용하지 않을 것입니다. 그러나 어떻게 해야할지 모르겠습니다. : S – Canastro

+0

여전히 '에서 그렇게 할 수 있습니다. CSS를 조금만 조정하면됩니다. CSS에서'a.licitate' 정의에'a'를 제거해보십시오. 마우스 오버 효과 대신 hover를 사용해야합니다. – jpdelatorre

-1

예.하지만 대개 좋은 생각은 아닙니다. 당신은 CakePHP의와

<a href="#" onclick="document.formName.submit()"> 

.. 자바 스크립트를 사용하도록해야 할 것 어쩌면 당신이 여기서 뭘하려고 무엇

<?php echo $html->link(__("Sign In", true), array("type" => "Sign In", 'class'=>'licitate', 'onClick' => 'document.formName.submit()')); ?> 
+0

확인 : ' link (__ ('Sign In', true), 배열 ('type'=> '로그인', 'class'=> 'liceate', 'onClick'=> 'document.UserLoginForm.submit() '))); ?> '생성 된 html은'Sign In '이며 작동하지 않습니다. – Canastro

+0

매개 변수가 모두 잘못되었습니다. 문서의 링크 방법을 확인하십시오. 원할 것입니다. echo $ html-> link (__ ('Sign In', true), null, array ('class'=> 'liceate', 'onClick'=> 'this.submit(); ')); Docs, http://api.cakephp.org/class/html-helper#method-HtmlHelperlink –

+0

링크에 직접 포함 된 'onclick' 속성을 사용할 필요가 없습니다. 사실 나쁜 형식입니다. JavaScript 기능은 점진적 향상으로 첨부되어야합니다. –

0

그의 문제는 앵커 태그가 자바 스크립트없이 양식을 제출할 수 없다는 것입니다. $ html-> link는 입력 형식이 아닌 submit 형식의 링크가 아닌 링크를 만듭니다.

버튼을 사용하려면 올바른 HTML을 직접 작성하십시오.

... other form code here 
    <button type="submit" class="licitation"> 
     Sign In 
    </button> 
    <?php echo $form->end(); 
+0

그래, 내 문제는 그게 또 하나있다 : 클래스 licitate 앵커에 대한, 그것은 정상 상태와 호버 상태가 있습니다. 여기 내 CSS의 추출물입니다 : http://pastebin.com/m4116430 및 그 CSS 스타일을 사용하여 정상적인 링크 : http://pastebin.com/m2f7af7ab. – Canastro

+0

그래서, 당신은 진짜 문제가 없습니다. 당신이 가지고있는 것은 당신이 원하는 방식으로 버튼 요소를 스타일링하는 CSS에 대한 충분한 지식이 아니며, 당신이 원하는대로 작동시킬 수있는 요소에 대해 작업 할 수있는 CSS를 약간 갖추고 있습니다. 버튼 요소의 스타일을 지정하는 방법에 대해 Google을 방문하지 않는 이유는 무엇입니까? 좋은 출발점은 blueprintcss.org의 버튼 플러그인입니다. 왜 앵커 태그 주위에 스팬을 배치하고 있습니까? 이를 수행하는 데 더 깔끔하고 의미 상으로 더 좋은 방법이 있습니다. 앵커 태그에 클래스 이름을 넣고 링크 텍스트를 줄 바꿈하는 것만 큼 간단 할 수도 있습니다. –

0

사용자가 이미 로그인 한 상태에서 시도하고 싶은 우물을 잘 알고 있다면? 먼저 사용자가 로그인했는지 여부를 확인하는 함수를 만듭니다. 내가 넣어 경우 그 다음

<span class = "licitateThis clearfix"> 
    <?php if(userisalreadyloggedin()) 
    echo '<a href="login.php" class ="licitate"> Singin</a>'; 
    ?> 
</span> 
+0

사용자가 아직 로그인하지 않은 로그인 양식에 로그인과 비밀번호를 삽입 할 수 있습니다.이 필드를 채운 후에는 사용자가 제출 버튼을 눌러야합니다. 내가 뭘 하려는지 : 대체 일부 CSS 스타일로 $ html -> 링크에 대한 정상적인 제출 버튼을 누릅니다. – Canastro