2014-04-01 57 views
-1

PHP:javascript文件並不在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>"; 
    } 
>? 

的javascript:

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


{ 

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

} 
} 

的Java腳本文件不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. 

    } 
} 

後,或者如果你想使用的輸入 客戶端檢查JavaScript創建一個函數來檢查自己的價值

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> 

說明:

當提交表單,或打提交按鈕,0​​javascript函數將被調用傳遞形式myForm作爲其參數。 checkIfBlank函數然後檢查myForm中的每個元素是否有值。 if not然後突出顯示帶有紅色邊框的元素,然後關注它然後返回false,這意味着表單不會被提交。如果all elements have value那麼它將不返回任何內容,因此繼續提交數據。