묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
플래시에서 받은 변수 값을 submit 할 때, 자동 입력 되게 하고 싶은데요 ^^;;
2007.12.17 22:08
안녕하세요. 검색에 검색을... 그리고 고민의 고민을 하다가 도저히 안 되어서, 이렇게 질문을 남기게 되었습니다.
우선, 저는 예전, zb4 시절의 '처키보드'를 zbxe 버전으로 만들고 있었습니다. PHP이니, CSS이니 XML이니 복잡한 난관들을
거의 다 돌파하고, 목표에 다 도달한 듯 싶었는데요. 최종 마무리가 안 됩니다.
문제는 write_form.html 에서 form 값을 넘기는데서 발생합니다.
가장 아래에 'submit' 버튼에 다음과 같은 함수를 추가하였는데요,
<span class="button"><input type="submit" value="{$lang->cmd_registration}" accesskey="s" onclick="MM_controlShockwave('varToPHP','','GotoFrame','1')" />
바로, submit을 하면서, 플래시를 조절하여, 플래시에 저장된 값을 확장 변수 1에 저장시키고 싶었습니다.
다음은 board.js 화일 속의 function MM_controlShockwave의 내용입니다.
문제는 이렇게 하고 write_form.html에서 submit을 누르니까,
write_form.html 의 시작 부분의
<form action="./" method="post" onsubmit="return procFilter(this, window.insert)" <!--@if($grant->fileupload)-->enctype="multipart/form-data"<!--@end--> class="boardEditor" id="fo_write">
에서 보는 것처럼 onsubmit에 걸려 있는 함수(proFilter)가 먼저 실행되어,
플래시에서 받은 값을 뒤늦게 출력합니다.
따라서 등록 버튼을 두 번 눌러야 정상작동하게 됩니다. ㅠㅠ
몇일 째, 고민하고 있는데 혹시 도움을 주실 수 있다면, 어떤 단서라도 남겨 주십시오.
감사합니다.
홈페이지: http://lovephys.net
우선, 저는 예전, zb4 시절의 '처키보드'를 zbxe 버전으로 만들고 있었습니다. PHP이니, CSS이니 XML이니 복잡한 난관들을
거의 다 돌파하고, 목표에 다 도달한 듯 싶었는데요. 최종 마무리가 안 됩니다.
문제는 write_form.html 에서 form 값을 넘기는데서 발생합니다.
가장 아래에 'submit' 버튼에 다음과 같은 함수를 추가하였는데요,
<span class="button"><input type="submit" value="{$lang->cmd_registration}" accesskey="s" onclick="MM_controlShockwave('varToPHP','','GotoFrame','1')" />
바로, submit을 하면서, 플래시를 조절하여, 플래시에 저장된 값을 확장 변수 1에 저장시키고 싶었습니다.
다음은 board.js 화일 속의 function MM_controlShockwave의 내용입니다.
function MM_controlShockwave(objStr,x,cmdName,frameNum) { //v3.0
var obj=document.varToPHP
if (obj) eval('obj.'+cmdName+'('+((cmdName=='GotoFrame')?frameNum:'')+')');
}
if (navigator.appName && navigator.appName.indexOf("Microsoft") != -1 &&
navigator.userAgent.indexOf("Windows") != -1 && navigator.userAgent.indexOf("Windows 3.1") == -1) {
document.write('<SCRIPT LANGUAGE=VBScript\> \n');
document.write('on error resume next \n');
document.write('Sub varToPHP_FSCommand(ByVal command, ByVal args)\n');
document.write(' call varToPHP_DoFSCommand(command, args)\n');
document.write('end sub\n');
document.write('</SCRIPT\> \n');
}
var obj=document.varToPHP
if (obj) eval('obj.'+cmdName+'('+((cmdName=='GotoFrame')?frameNum:'')+')');
}
if (navigator.appName && navigator.appName.indexOf("Microsoft") != -1 &&
navigator.userAgent.indexOf("Windows") != -1 && navigator.userAgent.indexOf("Windows 3.1") == -1) {
document.write('<SCRIPT LANGUAGE=VBScript\> \n');
document.write('on error resume next \n');
document.write('Sub varToPHP_FSCommand(ByVal command, ByVal args)\n');
document.write(' call varToPHP_DoFSCommand(command, args)\n');
document.write('end sub\n');
document.write('</SCRIPT\> \n');
}
var InternetExplorer = navigator.appName.indexOf("Microsoft") != -1;
// 플래시에서 받은 변수를 확장변수1로 집어 넣는 함수
function varToPHP_DoFSCommand(command, args) {
document.getElementById('extra_vars1').value = args;
}
// 플래시에서 받은 변수를 확장변수1로 집어 넣는 함수
function varToPHP_DoFSCommand(command, args) {
document.getElementById('extra_vars1').value = args;
}
문제는 이렇게 하고 write_form.html에서 submit을 누르니까,
write_form.html 의 시작 부분의
<form action="./" method="post" onsubmit="return procFilter(this, window.insert)" <!--@if($grant->fileupload)-->enctype="multipart/form-data"<!--@end--> class="boardEditor" id="fo_write">
에서 보는 것처럼 onsubmit에 걸려 있는 함수(proFilter)가 먼저 실행되어,
플래시에서 받은 값을 뒤늦게 출력합니다.
따라서 등록 버튼을 두 번 눌러야 정상작동하게 됩니다. ㅠㅠ
몇일 째, 고민하고 있는데 혹시 도움을 주실 수 있다면, 어떤 단서라도 남겨 주십시오.
감사합니다.
홈페이지: http://lovephys.net
댓글 2
-
zero
2007.12.17 22:34
-
조광근
2007.12.18 10:06
제로님이 직접 ^^;; 감사합니다. 하지만, 여전히 같은 증상이네요. 확장변수에 값을 입력하라는 경고창 후에 보면, 확장 변수가 입력되어 있네요. 잘 안되네요. 제로님 도와주세요!! ^^;;
즉 onsubmit 함수에서 MM_controlShockwave('varToPHP','','GotoFrame','1') 을 먼저 호출후 procFilter를 호출하게 하면 될듯합니다.
input type="submit" 에서는 함수코드를 제거하시구요.
지금 집이라 테스트를 해보지는 못했는데 될듯 하구요, 안되면 댓글 주세요.