FormHelper::postLink
메서드는 텍스트 상자 값을 가져올 방법이 없습니다. postLink
메소드는 자바를 사용하여 숨겨진 양식을 제출하는 <a>
링크 요소를 생성합니다. 당신이 볼 수 있듯이 당신이 <a>
요소를 클릭 할 때
<form action="/posts/delete/16" name="post_511c870e05d25" id="post_511c870e05d25" style="display:none;" method="post">
<input type="hidden" name="_method" value="POST"/>
</form>
<a href="#" onclick="if (confirm('Are you sure you want to delete # 16?')) { document.post_511c870e05d25.submit(); } event.returnValue = false; return false;">Delete</a>
가, 그것은 숨겨진 입력으로 양식을 제출 : 여기 postLink
밖으로 뱉어 무엇의 예입니다. 매개 변수를 postLink
으로 전달하여이 입력이 제출 한 값을 변경할 수 있지만, 사용자가 추가 작업을 수행하지 않고 양식을 수정하여 제출할 수있는 텍스트 상자의 값을 동적으로 가져올 수는 없습니다.
(무거운 약간 더 자바 스크립트 인 하나) 두 개의 유사한 옵션이 있습니다
1) 당신은 자바 스크립트를 사용하고 있기 때문에, 동적에 숨겨진 입력 값을 변경하기 위해 자바 스크립트 (또는 jQuery를) 사용할 수에 상관없이 사용자 유형. Javascript/jQuery는 사용자가 링크를 클릭 할 때 숨겨진 양식 입력을 업데이트하기 때문에 더 잘 수행 할 수 있습니다. postLink
기능을 사용하지 않고 모든 양식을 직접 (또는 Cake의 FormHelper와 함께) 수행하는 것이 더 쉽습니다.
2) postLink
방법을 전혀 사용하지 마십시오. 텍스트 상자 입력을 사용하여 일반 양식을 만들고 postLink
을 모방합니다. 특히 양식에 제출 단추가 없을 것입니다. 기본적으로 그냥 뱉어내는 내용 만 복사하면됩니다. 위의 예에서
<form action="test" name="UNIQUE_ID" id="UNIQUE_ID" method="post">
<input type="text" name="data[RideOffer][PickFrom]" value="POST"/>
</form>
<a href="#" onclick="if (confirm('This will submit the form.')) { document.UNIQUE_ID.submit(); } event.returnValue = false; return false;">Click</a>
참고 동일한 값으로 UNIQUE_ID
일치해야하고 또한 <form>
태그에서 style="display:none;"
를 제거해야합니다.
텍스트를 클릭하면 javascript를 사용하여 텍스트 상자를 사용하여 양식을 제출하지 마십시오. –