オフラインの人が、すでに顧客として登録されている firecheckout ページに電子メールを入力しないようにしています。そのため、開発コントローラーの 1 つでこのサンプル 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チェックを実装するにはどうすればよいですか? 前もって感謝します、シェーン