2016-07-20 14 views
1

我想多一個參數添加到窗體,並檢查它是否有效與否,但我無法正確地做到這一點...jQuery的加入一個參數newseltter形式

原文:

newsletterForm: { 
     selector: '#newsletter-form', 
     init: function() { 
      var base = this, 
        container = $(base.selector), 
        url = container.data('target'); 

      container.submit(function() { 
       container.find('.result').load(url, {email: $('#email').val()}, 
       function() { 
        $(this).fadeIn(200).delay(3000).fadeOut(200); 
       }); 
       return false; 
      }); 

     } 
    } 

我能夠在HTML中添加一個字段,但我不能添加在這裏,這裏是我的嘗試:

newsletterForm: { 
     selector: '#newsletter-form', 
     init: function() { 
      var base = this, 
        container = $(base.selector), 
        url = container.data('target'); 

      container.submit(function() { 
       container.find('.result').load(url, {email: $('#email').val()}, {name: $('#name').val()}, 
       function() { 
        $(this).fadeIn(200).delay(3000).fadeOut(200); 
       }); 
       return false; 
      }); 

     } 
    }, 

不知道如何在這裏繼續進行,但我在PHP文件如下:

if (is_email($email){ // do something} 
else{ 
    echo '<div class="notification-box error">'; 
    echo "Please enter a valid email address"; 
    echo "</div>"; 
} 

這是頁面上顯示,如果郵件是無效的,但是當我添加它的名字一樣

if (is_string($name){ // do something} 
else{ 
    echo '<div class="notification-box error">'; 
    echo "Please enter a name"; 
    echo "</div>"; 
} 

如果我不輸入名稱填寫表格時,它不會顯示此消息在頁面上。

有人可以幫助我嗎?

謝謝。

編輯:

$name = strtolower($_POST['name']); 
$email = strtolower($_POST['email']); 


if(!is_string($name) || empty($name)){ 
    echo '<div class="notification-box error">'; 
    echo "Please enter name"; 
    echo "</div>"; 
} 

回答

1

這是你會怎麼另一個參數添加到您現有的呼叫​​

container.find('.result').load(url, { 
            email: $('#email').val(), 
            name: $('#name').val() 
            }, 

您將需要添加更多一點的PHP代碼由我來能夠檢查,但​​當傳遞像你這樣的對象將使用POST所以你應該看看

$_POST['name'] 

您在該參數是passsing數據的價值

編輯:

你真的應該測試在做任何事情之前空。也不需要將數據從$_POST移到標量變量。一旦PHP創建$POST對你來說,它都是你的

if (!empty($_POST['email']) && is_email($_POST['email']){ 
    // do something} 
else{ 
    echo '<div class="notification-box error">'; 
    echo "Please enter a valid email address"; 
    echo "</div>"; 
} 

if(empty($_POST['name']) || !is_string($_POST['name'])){ 
    echo '<div class="notification-box error">'; 
    echo "Please enter name"; 
    echo "</div>"; 
} 
+0

是的,我有像'$名稱=用strtolower($ _ POST [「名」]);'我嘗試添加像你上面的描述,但我還是不要't得到關於名稱的任何錯誤信息... – Morpheus

+0

什麼是錯誤信息 – RiggsFolly

+0

我沒有得到任何東西在網頁上...如果我沒有輸入有效的電子郵件,我會得到「請輸入有效的電子郵件」 – Morpheus