커플
- 당신은 beforeShow
- I 돈 이외의 클릭 처리기를 바인딩해야합니다 : 그것은 대신 자신의 것에
는 클릭 이벤트를 바인딩 시도 이전에 reason_submit2
링크가 클릭되어있는 것을 확인할 수 있다고 생각합니다. 표시
또한, 나는 정의 2 VAR의 및 저장할 링크에 대한 클릭 핸들러 name
및 form
및 그 fancyConfirm_ok
전체 나중에 코드에서 사용됩니다
$(function() {
var r2sName = '', r2sForm = '';
$(".reason_submit2").fancybox({
openEffect: 'none',
closeEffect: 'none',
'modal': true
}).click(function() {
var $this = $(this);
r2sName = $this.data("name");
r2sForm = $this.data("form");
});
jQuery(".fancyConfirm_ok").click(function() {
$.fancybox.close();
console.log('form : ' + r2sForm);
console.log('name : ' + r2sName);
console.log('message : ' + $("[name=reason2]").val());
$($(".reason_submit2").data("form")).append($("<input>").attr("type", "hidden").attr("name", "reason").val($("#reason").val()));
$($(".reason_submit2").data("form")).append($("<input>").attr("type", "hidden").attr("name", $(".reason_submit2").data("name")));
//document.forms[$(".reason_submit2").data("form")].submit();
});
});
DEMO
다른 트릭은 클릭 핸들러 내부에서 클릭 링크에 클래스를 추가하고 해당 클래스를 사용하는 것입니다. name
및 form
을 fancyConfirm_ok
안에 넣으려면 개인적으로이 방법이 더 좋습니다.
감사합니다. 변수를 로컬 변수로 가져 오는 이유는 무엇입니까? 그것은 내게 오류가 발생합니다 :'Uncaught SyntaxError : 예기치 않은 토큰 ILLEGAL' – olofom
단지'document.ready', jQuery의 버전은 무엇을 사용하고 있습니까? 1.7 버전에서 도입 된 것 같지만 참으로 클로저 안에 var를 정의하고 있습니다. 글로벌보다 낫다. –
아하, 알았어. 1.7.2를 사용하고 있지만'$ (document) .ready (function() { '을 보거나 쓰는 데 익숙해 져서 그렇게 생각하지 않았다.) – olofom