JavaScript in PHP

JavaScript in PHP

本文关键字:PHP in JavaScript      更新时间:2023-09-26

我试图在初始屏幕(JavaScript)客户端验证表单,如果文本框中没有输入文本,则显示警告框。在提交提示框中单击OK,网页返回到初始屏幕。

如果输入了文本,JavaScript必须重定向到PHP文件。

到目前为止,我已经提出了以下代码:

<HTML> 
<HEAD>
<TITLE>Discography Search</TITLE> 
<script language="javascript" type="text/javascript" >
function validate(){
var username=document.getElementById('name').value;
if(username.length==0)
    {
        alert("Enter something in Searchbox");
}
}
</script>
</head>

<BODY> 
<H1><center>Search</center></H1> 
<FORM ACTION="phpfile.php" METHOD=POST id="submit1"> 
Search: <INPUT NAME=name id="name"><BR> 
Type:    <SELECT NAME="dropdown">
<OPTION value="A" ID="A">ARTIST</OPTION>
<OPTION value="A" ID="B">B</OPTION>
<OPTION value="C" ID="C">C</OPTION>
</SELECT>
<br><br><br>
<INPUT TYPE=submit name="submit" onclick="validate()"> 
<INPUT TYPE=reset>
</FORM>

和phpfile.php:

<html>
<head><title><center> Search Result</center></title></head>
<body>
<?php 
//echo $_POST["name"]; 
//echo $_POST["dropdown"]; 
$name=$_POST["name"];
$dropdown=$_POST["dropdown"];
if(empty($name)){
    alert("Please enter the something in the searchbox");
}
else{
    $url="http://www.allmusic.com/search/".$dropdown."/".$name."/";
    echo $url;
    //echo '
}   
?>
</body>
</html>

然而,选中空值的部分,显示警告框,但执行phpfile,我得到以下错误:

致命错误:phpfile.php第12行调用未定义函数alert()

  1. 在警报框中单击OK,我如何留在同一个js页面上?
  2. 为什么我不能在js文件中包含alert() ?

谢谢!

  1. 不要在按钮上设置onclick,而是在返回validate函数结果的表单上设置onsubmit。

    <FORM ACTION="phpfile.php" METHOD=POST id="submit1" onsubmit="return validate()">
    

    然后在验证函数中返回'false'。

  2. 你不能在PHP(在服务器上运行)中运行javascript(在浏览器上运行)

javascript和PHP是两个不同的东西,你不能在PHP中包含javascript并期望它工作。让PHP向页面发出一个标志,例如:$notvalid。将此回显到页面,例如

    <script>
 var notvalid = <?php echo $notvalid; ?> 
</script>

然后检查js变量notvalid with javascript的值

这样写

<?php 
//echo $_POST["name"]; 
//echo $_POST["dropdown"]; 
$name=$_POST["name"];
$dropdown=$_POST["dropdown"];
if(empty($name)){
?>
   <script type="text/javascript">
    alert("Please enter the something in the searchbox");
   </script>
<?php
}
else{
    $url="http://www.allmusic.com/search/".$dropdown."/".$name."/";
    echo $url;
    //echo '
}   

?>

您没有将alert放入Javascript代码中。将其放入PHP代码中。PHP没有alert