2013-07-22 4 views
0

저는 프론트 엔드를하고 있습니다. 다른 파일에서는 javascript/jQuery라는 다양한 함수를 호출해야합니다. 그래서, 난 CodeIgniter의와 PHP를 사용하고 있는데 내가 전화를 내가 할 노력하고있어 다른 기능 javascrip.Follow하는 PHP 함수로부터 전화를 만들려고 노력 :다른 파일에서 JavaScript 함수를 호출하는 더 좋은 방법은 무엇입니까?

PHP :

public function validaInclusao() { 

     getAtributoJanelaPai("slCusto"); 
    } 

function getAtributoJanelaPai($idCampo) { 

    carregaScriptsJquery(); 

    echo "getAtributoJanelaPai('$idCampo');"; 
} 

자바 스크립트 :

이 라인에있을 것 같은
function getAtributoJanelaPai(idCampo) { 
    alert('getAtributoJanelaPai'); 
    var element = window.opener.document.getElementById(idCampo); 
    var value = ''; 

    if (element.tagName === 'SELECT') { 
     value = element.selectedIndex + '|' + element.options[element.selectedIndex].value; 
    } else if (element.tagName === 'INPUT') { 
     value = element.value; 
    } 

    alert(value); 
} 

그래서 :

echo "getAtributoJanelaPai('$idCampo');"; 
+3

PHP가 자바 스크립트 함수를 호출 할 수 없습니다보십시오. PHP는 서버 측이고 javascript는 클라이언트 측입니다. – cfs

+0

제 질문은 : PHP 함수를 무엇이라고 부릅니까? AJAX 전화? 그렇다면 AJAX 요청의 성공 콜백에서이를 처리 할 수 ​​있습니다. 그렇지 않으면 호출이 동적이 아니므로 페이지가 이미 수정 된 상태로 렌더링됩니다. – sdespont

+0

아니요, 해당 함수에 대해 아약스 요청을 사용하지 않습니다. 하지만 php 함수는 javascript 함수를 호출하고, 그렇지 않은 경우는 없습니다. – mayconfsbrito

답변

0

이 어떤 것을

function getAtributoJanelaPai(idCampo) { 
alert('getAtributoJanelaPai'); 
var element = window.opener.document.getElementById(idCampo); 
var value = ''; 

if (element.tagName === 'SELECT') { 
    value = element.selectedIndex + '|' + element.options[element.selectedIndex].value; 
} else if (element.tagName === 'INPUT') { 
    value = element.value; 
} 

return(value); 
} 

및 PHP 파일 사용이 반환됩니다 자바 스크립트 파일을 작성 첫째 JS 생성 된 파일이 포함

는 그리고 이것은 당신이 에코을 수행하는 방법이다.

public function validaInclusao() { 

    getAtributoJanelaPai("slCusto"); 
} 

function getAtributoJanelaPai($idCampo) { 

carregaScriptsJquery(); 

echo "<script language=javascript>document.write(getAtributoJanelaPai(idCampo));</script>"; 
} 

또는이 하나

echo "<script language=javascript>getAtributoJanelaPai(idCampo);</script>"; 
} 
0

당신은 그렇게 할 수 있지만, 당신은 t을 수입해야 그는 당신의 문서에 Javascript 파일. 당신의 머리 부분에서

는 다음 넣어 :

"myScripts.js는"자바 스크립트 파일의 파일 이름입니다
<script type="text/javascript" src="myScripts.js"></script> 

. ,

<?php echo getAtributoJanelaPai($idCampo); ?> 
+0

에코는'myScripts.js' 파일의 echo가 아니라'myScripts.js' 가져 오기 아래의 '