我试图在初始屏幕(JavaScript)客户端验证表单,如果文本框中没有输入文本,则显示警告框。单击submit alertbox中的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,我得到以下错误:
致命错误:在第12行的phpfile.php中调用未定义的函数警报()
谢谢!
发布于 2013-03-07 09:50:36
发布于 2013-03-07 09:51:21
javascript和php是两种不同的东西,您不能在php中嵌入javascript并期望它能够工作。让php向页面吐出一个标志,例如$notvalid。将此回显到页面。
<script>
var notvalid = <?php echo $notvalid; ?>
</script>
然后用javascript检查js变量的值。
发布于 2013-03-07 09:51:35
用这种方式
<?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 '
}
?>
https://stackoverflow.com/questions/15267810
复制相似问题