2010-10-20 52 views
0

與#2細人一些幫助,我建立了一個小型新聞訂閱提交表單:爲什麼這個jQuery函數無法識別?

<div id="news-signup"> 
     <form action="news.php" method="post"> 
     <fieldset> 
      <input type="text" id="your-email" name="your-email" value="YOUR EMAIL ADDRESS" onfocus="if (this.value=='YOUR EMAIL ADDRESS') this.value='';" /> 
      <input type="submit" value="::Submit Query::" id="red-submit" /> 
     </fieldset> 
     </form> 
    </div> 

這裏是一個確認郵件替換形式的jQuery:

$(document).ready(function() { 
    $('#news-signup form') 
    .validate({ 
    submitHandler: function(form) { 
     $(form).ajaxSubmit({ 
      success: function() { 
      var Image = $('<img />').attr({src:'_images/register-thanks.png', width:332, height:35, alt:"Success"}); 
       $('#news-signup form').hide(); 
       $('#news-signup').append(Image); 
      } 
     }); 
    } 
    }); 
}); 

該作品完美在這個page,但更換圖像不踢這個page

我希望得到一些指導解決這個問題。

謝謝。

回答

1

我真的不明白爲什麼這不應該工作(但我也喜歡PrototypeJS),但會發生什麼,如果你擺脫這一切形式的東西,註冊提交按鈕點擊回調?事情是這樣的:

HTML

<div id="news-signup"> 
    <input type="text" id="your-email" name="your-email" value="YOUR EMAIL ADDRESS" /> 
    <input type="submit" value="::Submit Query::" id="red-submit" /> 
</div> 

我也擺脫了內嵌腳本(不這樣做)的。

JS

$(document).ready(function() { 
    var emailInput = $("#your-email"); 

    emailInput.focus(function() { 
     // THREE = ! 
     if(this.value === "YOUR EMAIL ADDRESS") { 
      this.value = ""; 
     } 
    }); 

    emailInput.blur(function() { 
     if(this.value === "") { 
      this.value = "YOUR EMAIL ADDRESS"; 
     } 
    }); 

    $("#red-submit").click(function() { 
     $.ajax({ 
      type: 'POST', 
      url: 'news.php', 
      data: { 
       'your-email': emailInput.val() 
      }, 
      success: function() { 
       var image = $('<img />').attr({src:'_images/register-thanks.png', width:332, height:35, alt:"Success"}); 
       $('#news-signup input').hide(); 
       $('#news-signup').append(image);     
      } 
     }); 
    }); 
}); 

讓我知道,如果它的工作。順便一提,在比較對象時總是使用3 =。

+0

嗨菲爾。這非常接近。我把代碼放在裏面,表單被圖像替換,但是它也會轉到news.php。必須有一個步驟來防止加載頁面。謝謝您的幫助。 – fmz 2010-10-20 16:29:34

+0

好的。您是否從HTML中刪除了

標記?這一個不再需要。另外,您還可以嘗試將更改爲。由於JavaScript爲您處理所有表單處理,因此您無需將此按鈕指定爲提交按鈕。 – philgiese 2010-10-20 16:50:11

+0

嘿:)現在工作嗎?如果是的話,會很酷,如果你接受我的答案,如果沒有,給我一個更新,以便我們可以一起弄清楚。 – philgiese 2010-10-25 10:17:14

相關問題