通过PHP形成交互

时间:2014-06-04 08:54:00

标签: javascript php jquery html

我是PHP的新手。我有一个这样的表格:

<form action="mailtest.php" method="post" name="mail_form" id="mail_form" >
    ...
 </form>

和mailtest.php具有以下代码:

<?php
$name=$_POST['form_name'];
if ((!isset($name)) || ($name==''))
{
     echo 'Fill in the name';        
}

else
{
     $name='From '.$_POST['form_name'];
     echo $name;
}
?> 

现在,我想放入mailtest.php javascript代码,这将影响表单,以防form_name为null。例如,隐藏div显示为表示填写此字段或更改边框颜色等的义务。换句话说,验证人员我必须处理通过onsubmit事件调用的js文件。 我如何才能在PHP文件中实现这一点? 谢谢

4 个答案:

答案 0 :(得分:0)

简而言之 - 你不能。

PHP是服务器端语言,JS是客户端。

您的JS代码必须先发送给用户才能处理。

这就是为什么验证有时会分为服务器/客户端部分。

答案 1 :(得分:0)

您可以在源文件中创建java脚本函数,而不是在表单提交后生成

<form action="mailtest.php" method="post" name="mail_form" id="mail_form" onSubmit="return validate()">
    ...
 </form>

您必须为您的姓名文本文件指定一个ID,然后检入java脚本。

<script type="text/javascript">
function validate()
{
if(document.getElementById("form_name").value == "")
{
alert("Enter name");
return false;
}
}

答案 2 :(得分:0)

PHP是一种服务器端脚本语言,它执行服务器上的代码以及服务器端通常工作的任何代码。当您打印或回显任何语句,以便它在服务器上呈现时,无论您打印什么,您都可以在浏览器中获得html / other中的响应。在您的情况下,尝试打印javascript代码,如:

if ((!isset($name)) || ($name==''))
{
  // echo 'Fill in the name';
  echo '<script type="text/javascript">alert("Fill in the name");</script>';        
}

我不建议使用此代码,只是为了向您提供真正有效的帮助。这取决于你如何利用你的逻辑。

答案 3 :(得分:0)

最简单的方法是给你的对象(form_name)一个id(比如说form_name),一个定义错误的类(比如突出显示)并确保你加载了jquery然后添加它:

.highlight {
    border: 1px dotted #cc0000 !important;
}

那应该放在你的CSS中....

<script type="text/javascript">
$(document).ready(function() {
   $('#mail_form').submit((function)() { 
       var field = $('#form_name'); 
       var form_name = $(field).val(); 
       if (form_name == '') { //or whatever else you want to do to validate
           $(field).addClass('highlight'); // would add a class called highlight to the field
           // or toggleClass('hidden') on some field 
           // or any other action you want to check. 
           return false; // stop the form from submitting
       }
   });
});
</script>

...那将放在您的HTML文件中....