2014-04-01 3 views
-1

PHP를 트리거하지 않습니다자바 스크립트 파일이 PHP에

<?php 
if (empty($itemId)|| (empty($title) && $title==="Please Select") 
    || empty($subtitle) || empty($descript) 
    || empty($availability) 
    || empty($price) || empty($filename)) 
    { 
    echo "<script type='text/javascript'>\n"; 
    'emptyfield()'; 
    echo "</script>"; 
    } 
>? 

자바 스크립트 :

function emptyfield() 
{ 
if(document.forms ["add"] ["save"].value !== "") 


{ 

    document.getElementById('display').innerHTML="Please fill the blank fields!!!"; 

} 
} 

자바 스크립트 파일이 PHP 파일에 트리거하지 않습니다. 제출 버튼을 클릭하면 div가 "빈 칸을 채워주십시오"라고 표시해야합니다. 하지만 제 경우에는 그렇게되지 않습니다.

+0

자세한 코드 정보를 제공하십시오. 여기서 우리는 당신이 말하는 공식을 볼 수 없습니다. 당신의 문제가 무엇인지 간단하게 말했습니다. 그것은 내게 불분명하다 –

+0

이 작은 스크립트를 에코는 브라우저가 이미 페이지를 다시로드하기 때문에 기존 페이지에 일부 텍스트를 팝업하지 않을 것이다. 이 스 니펫이 어떻게 맞춰 지는지 게시 한 내용은 분명하지 않지만 누락 된 '에코'를 허용하는 것처럼 작동하는 것처럼 보이지 않습니다. –

답변

0
echo "<script type='text/javascript'>\n"; 
'emptyfield()'; 
echo "</script>"; 

난 당신이 PHP에서 'emptyfield()'; 에코 깜빡 생각합니다.

+0

내 코드를 어떻게 바꿀 수 있습니까? – user3436338

+0

간단히''emptyfield() ';를''echo'emptyfield() ';로 변경한다. –

+0

나는 여전히 작동하지 않았다. – user3436338

0

emptyfield(); 행이 표시되지 않습니다.

이와 같은 문제 해결 문제는 브라우저에서 렌더링 된 마크 업 소스를 보는 것만큼이나 간단하며이 줄이 응답에 쓰여지지 않음을 알 수 있습니다.

+0

나는 echo가 여전히 작동하지 않는 것을 사용했다. – user3436338

1

이것을 사용하면 PHP 끝 태그 ?>에서 오류를 발생 시켰을뿐만 아니라 언급 한대로 스크립트를 변경할 수 있습니다.

<?php 
if (empty($itemId)|| (empty($title) && $title==="Please Select") 
    || empty($subtitle) || empty($descript) 
    || empty($availability) 
    || empty($price) || empty($filename)) 
    { 
    echo '<script type="text/javascript">emptyfield()</script>'; 
    } 
?> 
0

나는 데이터가

if($_SERVER['REQUEST']=='POST'){ 
    // checking condition 
    $condition = (empty($itemId)|| (empty($title) && $title==="Please Select") 
     || empty($subtitle) 
     || empty($descript) 
     || empty($availability) 
     || empty($price) 
     || empty($filename)); 

    if($condition){ 
    // Throw an error here! 
    echo "Please fill all the tables"; 

    }else{ 
    // execute query here. 

    } 
} 

을 게시 한 후에는 확인을해야한다고 생각하거나 자신의 가치를 확인하기 위해 자바 스크립트에서 함수를 만들 입력 의 클라이언트 측 검사를 사용하려면

function checkIfBlank(form){ 
    for(x in form){ 
    //checking only input boxes, select boxes and textarea 
    if(form[x].nodeName=='INPUT' || form[x].nodeName=='SELECT' || form[x].nodeName=='TEXTAREA'){ 
     //checking of value if its empty.. if empty throw error 
     if(form[x].value==''){ 
      if(document.getElementById(form[x].id)!=null){ 
      alert("Please enter a value in the fields with red borders."); 

      document.getElementById(form[x].id).style.border="inset 3px red"; 
      document.getElementById(form[x].id).focus(); 

      return false; 
      } 
    } 

} 

} 

다음과 같이해야합니다.

<form name='myForm' type='post' action='yourphp.php' onsubmit='return checkIfBlank(this.form)' > 
//elements here.. 

</form> 

설명 :

이 양식을 제출, 또는 인수로 형태 myForm를 전달 호출되는 자바 스크립트 함수 제출 버튼, checkIfBlank 타격. checkIfBlank 함수는 값이있는 경우 myForm의 각 요소를 확인합니다. if not은 빨간색 테두리로 요소를 강조 표시 한 다음 초점을 맞추고 false를 반환합니다. 이는 양식이 제출되지 않음을 의미합니다. all elements have value이면 아무 것도 반환하지 않으므로 데이터 제출이 진행됩니다.

관련 문제