尝试验证表单客户端和服务器端

时间:2014-06-01 11:29:54

标签: javascript php forms validation

客户端验证看起来像这样:

function validateFname() {
    var x = document.getElementById('fname').value; 
    if (x==null || x=="")
    {
    alert("First name must be filled out");
    return false;
    }
}

它下面的服务器端:

if(isset($_POST['SubmitForm'])){
if(empty($_POST['fname'])){
    echo "First name cannot be empty!<br/><br/>";
    return false;
}

并且表单本身位于:

<form name = 'checkout' method='post' action="<?php echo $_SERVER['PHP_SELF']; ?>"
accept-charset='UTF-8'>
First Name:<input type="text" name="fname" id="fname" onsubmit="return validateFname()"
class="required" value="<?php echo $fname;?>" />
<input type="submit" name="SubmitForm" value="Send"/>

当然还有更多内容,但我刚刚给出了一个例子。我试图找出为什么(clientside)javascript函数不工作,而(服务器)PHP错误即将到来。我需要能够让客户端在服务器之前运行验证检查以减少负载。

2 个答案:

答案 0 :(得分:0)

onsubmit是属于<form>元素的事件。您已使用提交按钮放置它,这将无效。

这是一个工作小提琴:

<强> Demo

Reference

答案 1 :(得分:0)

<form name = 'checkout' method='post' action="<?php echo $_SERVER['PHP_SELF']; ?>" accept-charset='UTF-8'>
First Name:<input type="text" name="fname" id="fname"  value="<?php echo $fname;?>" />
<input type="submit" name="SubmitForm" onClick="return validateFname()"  value="Send"/>
</form>

尝试上面的代码。而不是在输入文本字段中使用onSubmit使用onClick in提交按钮。 祝你好运