为什么这个jQuery函数无法识别?

时间:2010-10-20 14:54:06

标签: jquery

在Stackoverflow的优秀人员的帮助下,我建立了一个小通讯订阅提交表单:

 <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 个答案:

答案 0 :(得分: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 =。