|
复制代码 代码如下: <?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>
|
|