我试图避免离线人员在已注册为客户的 firecheckout 页面上输入电子邮件。因此,我在我的一个开发控制器中创建了这个示例 php 脚本:
public function mailExists(Varien_Object $customer, $mail, $websiteId)
{
if($websiteId){
$customer->setWebsiteId($websiteId);
}
$customer->loadByEmail($mail);
if($customer->getId()){
return $customer->getId();
}
return FALSE;
}
public function formAction()
{
$customer = Mage::getModel('customer/customer');
$websiteId = Mage::app()->getWebsite()->getId();
$email = $_POST['email'];
if($this->mailExists($customer, $email, $websiteId))
{
echo 'mail <u>'.$email.'</u> exists containing customer id '.$this->mailExists($customer, $email, $websiteId);
}
else{
$this->_formPost();
}
}
public function _formPost()
{
echo "<form enctype='multipart/form-data' action='".Mage::getUrl('index/form/')."' method='post'>";
echo "<input type='text' value='shane.test@hotmail.com' id='email' name='email' />";
echo "<input type='submit' value='verzend' />";
echo "</form>";
}
效果很好。但我担心的是,当有人在结帐页面上输入所有字段并按下提交按钮时,所有输入的数据都会被设置为空。这会让我的客户感到沮丧。所以我认为一个jQuery脚本会更好地通知离线客户不要使用已经注册的电子邮件,或者在他们在电子邮件地址输入字段中输入电子邮件地址时登录他们的帐户。
我想让我的 jQuery 脚本在用户在电子邮件输入字段中输入的文本上运行。我只是想出了这个:
public function testAction()
{
echo("
<script src='http://code.jquery.com/jquery-latest.js'></script>
<script type='text/javascript'>
$(document).ready(function()
{
$('#email').onChange(function()
{
alert('input');
});
});
</script>
");
$this->_testPost();
}
public function _testPost()
{
echo "<form name='test' enctype='multipart/form-data' action='".Mage::getUrl('index/form/')."' method='post'>";
echo "<input type='text' value='' id='email' name='email' />";
echo "<input type='submit' value='verzend' />";
echo "</form>";
}
这将打印input
在警报框上。我将如何在 jQuery 中实现我的 php 检查?在此先感谢,谢恩