2013-02-20 114 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函数将不会被调用。适用于我:)。告诉我,如果这有帮助。

相关问题