2011-09-25 39 views
1

我有一個基本的形式,我需要進行一些驗證,我有一個跨度區域,我想要按下提交按鈕,以顯示一個預定義的消息如果一個字段爲空,則爲框。使用PHP來改變一個html元素內部文本

喜歡的東西

if ($mytextfield = null) { 
    //My custom error text to appear in the spcificed #logggingerror field 
} 

我知道我可以使用jQuery(的document.getElementById( '#errorlogging')。innerHTML的= 「TEXT HERE」)做到這一點,但我怎麼能做到這一點用PHP?

的對我來說是新的東西用PHP位,任何幫助非常感謝:)

感謝

+0

你想在客戶端上運行PHP,或者提交到服務器,結果返回給客戶端? –

回答

4

你可以通過幾種方法做到這一點。您可以創建一個$ error變量。確保總是創建$錯誤(即使所有內容都檢查完畢),但如果沒有錯誤,則必須爲空,否則該值必定爲錯誤。

做這樣的:

<?php 
if(isset($_POST['submit'])){ 
    if(empty($_POST['somevar'])){ 
     $error = "Somevar was empty!"; 
    } 
} 
?> 
<h2>FORM</h2> 
<form method="post"> 
<input type="text" name="somevar" /> 

<?php 
if(isset($error) && !empty($error)){ 
    ?> 
    <span class="error"><?= $error; ?></span> 
    <?php 
} 
?> 
</form> 
2

你不能做任何的客戶端用PHP。你需要使用Javascript。如果你真的需要PHP(例如對數據庫進行檢查),你可以使用Javascript來進行Ajax調用,並將返回值放在頁面的div中。

+0

當然你可以,它只需要往返(回傳?)到服務器並返回。 ':)' –

+0

@JaredFarrish,這樣就不再是'客戶端'了;; – Rijk

+0

指出OP說它必須在客戶端。 OP *有可能暗示這一點,但它非常直接地影響客戶端使用服務器看到的內容,而不是客戶端驗證。 –

3

表單域發送在$ _REQUEST,$ _GET或$ _POST變量到PHP ...

爲了驗證你可以寫這樣的領域PARAM:

if(strlen($_REQUEST['username']) < 6){ 
echo 'false'; 
} 
else{ 
echo 'true'; 
} 
3

如果你想改變它動態地在客戶端,沒有辦法,但阿賈克斯。 PHP在服務器端工作,你必須使用post/get請求。

相關問題