web-dev-qa-db-ja.com

PHPコードでJavaScript関数を呼び出す方法は?

ログインフォームにサーバー側の検証を配置しています。エラーが発生した場合は、検証されたコントロールのすぐ下にエラーを表示します。これで、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>

検証されたコントロールのすぐ下にあるサーバー側の検証をフォームに表示する方法を教えてください。

5
Kalpana Dixit

このようなもの

<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>
3
Aamir Mahmood

これを使って

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

あなたが好きな場所にあなたのphpコードを置くことができます属性のようなbodyで言いましょう。次のコードを試すことができます:

<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関数は呼び出されません。私のために働く:)。これが役立つかどうか教えてください。

2
Riste
    <?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
1
Samy