2013-02-20 27 views
4

在我的登錄表單上,我正在進行服務器端驗證,如果發生錯誤,我想在驗證的控件下面顯示那些錯誤。現在爲此,我試圖調用JavaScript函數來顯示驗證消息在php代碼中,但無法調用。如何在php代碼中調用javascript函數?

<?php 

if($_SERVER['REQUEST_METHOD'] == 'POST') 
{ 
if($_POST['txtUsername']=='') 
{ 
    //here i want to call javascript function to display message  
} 
} 
?> 
<form action="login.php" method="POST"> 

Username <input type="text" size="30" name="txtUsername" id="user" /><br /> 

Password <input type="password" size="30" name="txtPassword" id="pass" /><br /> 

<input type="submit" value="Login" name="loginSubmit"/> 

</form> 


<script type="text/javascript"> 

    function showMessage(value) 
    { 
    document.getElementById(value).innerHTML= value+"can not be empty."; 
    } 
    </script> 

請告訴我如何在窗體中驗證控件下方顯示服務器端驗證。

+0

爲什麼不驗證表單中的輸入然後提交表單? – 2013-02-20 10:11:34

+0

將jQeury腳本實際分配給提交會有用嗎?然後腳本應該能夠爲你做驗證,除非我丟失了一些東西 – 2013-02-20 10:11:43

+0

它不起作用,因爲你在聲明它之前使用了函數。首先聲明腳本,然後使用php。 – AZT 2014-10-27 20:15:34

回答

3

像這樣的事情

<html> 
<head> 
<script type="text/javascript"> 

    function showMessage(value) 
    { 
     document.getElementById(value).innerHTML= value+"can not be empty."; 
    } 
    </script> 
</head> 
<body> 
<?php 

if($_SERVER['REQUEST_METHOD'] == 'POST') 
{ 
    if($_POST['txtUsername']=='') 
    { 
     echo '<script> showMessage("txtUsername"); </script>'; 
    } 
} 
?> 
<form action="login.php" method="POST"> 

Username <input type="text" size="30" name="txtUsername" id="txtUsername" /><br /> 

Password <input type="password" size="30" name="txtPassword" id="txtPassword" /><br /> 

<input type="submit" value="Login" name="loginSubmit"/> 

</form> 

</body> 
</html> 
+0

::但我不想在警報框中顯示消息。我想顯示爲innerHTML – 2013-02-20 10:11:05

+0

檢查更新的答案,還請注意,我已更改文本框的ID – 2013-02-20 10:11:42

+1

showMessage必須包含在javascript標記 – Federkun 2013-02-20 10:13:47

3

使用本

if($_POST['txtUsername']=='') 
{ 
    echo '<script> showMessage("txtUsername"); </script>'; 
} 
+0

其不工作..... – 2013-02-20 11:18:25

+0

@yogesh如果我需要在函數中傳遞POST值然後在javascript中使用將該值分配給輸入 – Nehal 2016-01-09 13:03:41

1
<?php 

    if($_SERVER['REQUEST_METHOD'] == 'POST') 
    { 
     if($_POST['txtUsername']=='') 
     { 
     ?> 
      <script> 
      //Define the function somewhere in the top or in external js and include it. 
      callyourfunction(); 
      </script> 
     <?php 
     } 
    } 
?>    //Its not working 
2

你可以把你的PHP代碼的任何地方,你喜歡讓我們的身體像屬性說。你可以試試下面的代碼:

<body <?php 

     if($_SERVER['REQUEST_METHOD'] == 'POST') 
{ 
if($_POST['txtUsername']=='') 
{ 
    echo "onload = 'showMessage("VALUE")'";  
} 
} 
?> > // end of body start tag 

<form action="login.php" method="POST"> 

Username <input type="text" size="30" name="txtUsername" id="user" /><br /> 

Password <input type="password" size="30" name="txtPassword" id="pass" /><br /> 

<input type="submit" value="Login" name="loginSubmit"/> 

</form> 
</body> 

<script type="text/javascript"> 

    function showMessage(value) 
    { 
    document.getElementById(value).innerHTML= value+"can not be empty."; 
    } 
    </script> 

如果驗證成功的PHP代碼不會迴應任何事情,JavaScript函數將不會被調用。適用於我:)。告訴我,如果這有幫助。

相關問題