xajax的FORM例子

所属分类: 网络编程 / AJAX相关 阅读数: 656
收藏 0 赞 0 分享
复制代码 代码如下:

<?php
// signup.php
// demonstrates a simple multipage form using xajax
// and the xajax.getFormValues() function.
// using xajax version 0.1 beta4
// http://xajax.sourceforge.net
session_start();
include ("xajax.inc.php");
function processForm($aFormValues)
{
        if (array_key_exists("username",$aFormValues))
        {
                return processAccountData($aFormValues);
        }
        else if (array_key_exists("firstName",$aFormValues))
        {
                return processPersonalData($aFormValues);
        }
}
function processAccountData($aFormValues)
{
        $objResponse = new xajaxResponse();
        $bError = false;
        if (trim($aFormValues['username']) == "")
        {
                $objResponse->addAlert("Please enter a username.");
                $bError = true;
        }
        if (trim($aFormValues['newPass1']) == "")
        {
                $objResponse->addAlert("You may not have a blank password.");
                $bError = true;
        }
        if ($aFormValues['newPass1'] != $aFormValues['newPass2'])
        {
                $objResponse->addAlert("Passwords do not match.  Try again.");
                $bError = true;
        }
        if (!$bError)
        {
                $_SESSION = array();
                $_SESSION['newaccount']['username'] = trim($aFormValues['username']);
                $_SESSION['newaccount']['password'] = trim($aFormValues['newPass1']);
                $sForm = "<form id=\"signupForm\" action=\"javascript:void(null);\" onsubmit=\"submitSignup();\">";
                $sForm .="<div>First Name:</div><div><input type=\"text\" name=\"firstName\" /></div>";
                $sForm .="<div>Last Name:</div><div><input type=\"text\" name=\"lastName\" /></div>";
                $sForm .="<div>Email:</div><div><input type=\"text\" name=\"email\" /></div>";
                $sForm .="<div class=\"submitDiv\"><input id=\"submitButton\" type=\"submit\" value=\"done\"/></div>";
                $sForm .="</form>";
                $objResponse->addAssign("formDiv","innerHTML",$sForm);
                $objResponse->addAssign("formWrapper","style.backgroundColor", "rgb(67,149,97)");
                $objResponse->addAssign("outputDiv","innerHTML","\$_SESSION:<pre>".var_export($_SESSION,true)."</pre>");
        }
        else
        {
                $objResponse->addAssign("submitButton","value","continue ->");
                $objResponse->addAssign("submitButton","disabled",false);
        }
        return $objResponse->getXML();
}
function processPersonalData($aFormValues)
{
        $objResponse = new xajaxResponse();
        $bError = false;
        if (trim($aFormValues['firstName']) == "")
        {
                $objResponse->addAlert("Please enter your first name.");
                $bError = true;
        }
        if (trim($aFormValues['lastName']) == "")
        {
                $objResponse->addAlert("Please enter your last name.");
                $bError = true;
        }
        if (!eregi("^[a-zA-Z0-9]+[_a-zA-Z0-9-]*(\.[_a-z0-9-]+)*@[a-z??????0-9]+(-[a-z??????0-9]+)*(\.[a-z??????0-9-]+)*(\.[a-z]{2,4})$", $aFormValues['email']))
        {
                $objResponse->addAlert("Please enter a valid email address.");
                $bError = true;
        }
        if (!$bError)
        {
                $_SESSION['newaccount']['firstname'] = $aFormValues['firstName'];
                $_SESSION['newaccount']['lastname'] = $aFormValues['lastName'];
                $_SESSION['newaccount']['email'] = $aFormValues['email'];
                $objResponse->addAssign("formDiv","style.textAlign","center");
                $sForm = "Account created.<br />Thank you.";
                $objResponse->addAssign("formDiv","innerHTML",$sForm);
                $objResponse->addAssign("formWrapper","style.backgroundColor", "rgb(67,97,149)");
                $objResponse->addAssign("outputDiv","innerHTML","\$_SESSION:<pre>".var_export($_SESSION,true)."</pre>");
        }
        else
        {
                $objResponse->addAssign("submitButton","value","done");
                $objResponse->addAssign("submitButton","disabled",false);
        }
        return $objResponse->getXML();
}
$xajax = new xajax();
//$xajax->debugOn();
$xajax->registerFunction("processForm");
$xajax->processRequests();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
        <head>
                <?php $xajax->printJavascript(); ?>
                <style type="text/css">
                #formWrapper{
                        color: rgb(255,255,255);
                        background-color: rgb(149,67,97);
                        width: 200px;
                }
                #title{
                        text-align: center;
                        background-color: rgb(0,0,0);
                }
                #formDiv{
                        padding: 25px;
                }
                .submitDiv{
                        margin-top: 10px;
                        text-align: center;
                }
                </style>
                <script type="text/javascript">
                function submitSignup()
                {
                        xajax.$('submitButton').disabled=true;
                        xajax.$('submitButton').value="please wait...";
                        xajax_processForm(xajax.getFormValues("signupForm"));
                        return false;
                }
                </script>
        </head>
        <body>
                <div id="formWrapper">
                        <div id="title">Create a New Account</div>
                        <div id="formDiv">
                                <form id="signupForm" action="javascript:void(null);" onsubmit="submitSignup();">
                                        <div>Username:</div><div><input type="text" name="username" /></div>
                                        <div>Password:</div><div><input type="password" name="newPass1" /></div>
                                        <div>Confirm Password:</div><div><input type="password" name="newPass2" /></div>
                                        <div class="submitDiv"><input id="submitButton" type="submit" value="continue ->"/></div>
                                </form>
                        </div>
                </div>
                <div id="outputDiv">
                </div>
        </body>
</html>

更多精彩内容其他人还在看

AjaxSubmit()提交file文件

这篇文章主要介绍了AjaxSubmit()提交file文件的实例讲解,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

基于Blod的ajax进度条下载实现示例代码

本篇文章主要介绍了基于Blod的ajax进度条下载实现示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

使用Ajax、json实现京东购物车结算界面的数据交互实例

这篇文章主要介绍了使用Ajax、json实现京东购物车结算界面的数据交互实例,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

用Promise解决多个异步Ajax请求导致的代码嵌套问题(完美解决方案)

这篇文章主要介绍了用Promise解决多个异步Ajax请求导致的代码嵌套问题(完美解决方案),需要的朋友可以参考下
收藏 0 赞 0 分享

Ajax 传递JSON实例代码

虽然ajax全称是asynchronous javascript and XML。但目前使用ajax技术时,传递JSON已经成为事实上的标准。这篇文章主要介绍了Ajax 传递JSON实例代码,需要的朋友可以参考下
收藏 0 赞 0 分享

ajax用json实现数据传输

本文主要介绍了ajax用json实现数据传输的方法,具有很好的参考价值。下面跟着小编一起来看下吧
收藏 0 赞 0 分享

Ajax中post方法直接返回以0开头数字出错问题分析

这篇文章主要介绍了Ajax中post方法直接返回以0开头数字出错问题分析,需要的朋友可以参考下
收藏 0 赞 0 分享

ajax+springmvc实现C与View之间的数据交流方法

下面小编就为大家带来一篇ajax+springmvc实现C与View之间的数据交流方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Spring MVC前端与后端5种ajax交互方法【总结】

下面小编就为大家带来一篇Spring MVC前端与后端5种ajax交互方法【总结】。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Ajax校验是否重复的实现代码

这篇文章主要介绍了Ajax校验是否重复的实现代码,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多