Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击HTML按钮时获取要触发的jQuery函数_Javascript_Jquery_Html_Events_Button - Fatal编程技术网

Javascript 单击HTML按钮时获取要触发的jQuery函数

Javascript 单击HTML按钮时获取要触发的jQuery函数,javascript,jquery,html,events,button,Javascript,Jquery,Html,Events,Button,我有以下HTML/JQuery: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content

我有以下HTML/JQuery:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Login</title>
<script src="jQuery.js"></script>
<script>
   $(document).ready(function(){                     
      $(function(){
         $("#sb").click(function(e){
            e.preventDefault();
            getmessage = "Yes";
            getmessage = encodeURIComponent(getmessage);//url encodes data
            $.ajax({
               type: "POST",
               url: "get_login.php",
               data: {'getmessage': getmessage},
               dataType: "json",
               success: function(data) {
                  $("#message_ajax").html("<div class='successMessage'>" + data.message +"</div>");
           }
           });
        });
      });
    });
</script>
</head>

<body>
<h1>Login</h1>
<p>Please enter your e-mail and password</p>
<form name = "loginform" action = "http://dev.speechlink.co.uk/David/get_login.php" method = "post">
<p>E-mail<input name = "username" type="text" size="25"/><label id ="emailStatus"></label></p>

<p>Password<input name = "password" type="text" size="25"/><label id ="passwordStatus"></label></p>

<p><input type="hidden" name="usertype" value = "SupportStaff" /></p>
<p>><input type ="button" id = "sb"value="Create Account"/></p>

</form>
<div id = "message_ajax"></div>
</body>
</html>

登录
$(文档).ready(函数(){
$(函数(){
$(“#sb”)。点击(功能(e){
e、 预防默认值();
getmessage=“是”;
getmessage=encodeURIComponent(getmessage);//url编码数据
$.ajax({
类型:“POST”,
url:“get_login.php”,
数据:{'getmessage':getmessage},
数据类型:“json”,
成功:功能(数据){
$(“#message_ajax”).html(“+data.message+”);
}
});
});
});
});
登录
请输入您的电子邮件和密码

电子邮件

密码

>

我无法让事件处理程序(在jQuery中)在用户按下“创建帐户”按钮时触发…

您的html不好:

应该是

你的html不好:

应该是


我马上就看到三个问题:

  • 调用
    ready
    两次(当您将函数传递到
    $()
    中时,这就像将函数传递到
    $(document.ready()
    )中一样)。这基本上是无害的,但完全没有必要

  • 按钮上的
    id
    属性与下一个属性对齐;浏览器可能会忽略它:

    <input type ="button" id = "sb"value="Create Account"/>
    <!--                  ^^^^^^^^^ -->
    


    我马上就看到三个问题:

  • 调用
    ready
    两次(当您将函数传递到
    $()
    中时,这就像将函数传递到
    $(document.ready()
    )中一样)。这基本上是无害的,但完全没有必要

  • 按钮上的
    id
    属性与下一个属性对齐;浏览器可能会忽略它:

    <input type ="button" id = "sb"value="Create Account"/>
    <!--                  ^^^^^^^^^ -->
    

    
    
    您确实应该从属性中删除所有这些不规则的空格。还有
    $(函数(){
    .ready
    中是多余的,因为它做的是相同的事情。知道当你点击按钮时实际发生了什么将是有用的;没有明显发生和没有实际发生之间有很大的区别。你有没有收到任何浏览器错误?你从AJAX调用中得到响应吗?事件是否ally fire?按钮的HTML似乎在某个地方有多余的空格,并且“sb”value=“Create Account”之间缺少空格。可能就是这样。还有,为什么要将$(function(){嵌入$(document)。准备好了吗?您的代码只在DOM就绪时才被调用。您真的应该从属性中删除所有不规则的空格。还有
    $(功能(){
    .ready
    中是多余的,因为它做的是相同的事情。知道当你点击按钮时实际发生了什么将是有用的;没有明显发生和没有实际发生之间有很大的区别。你有没有收到任何浏览器错误?你从AJAX调用中得到响应吗?事件是否ally fire?按钮的HTML似乎在某处有多余的空格,并且“sb”value=“Create Account”之间缺少空格。可能就是这样。另外,为什么要将$(function(){嵌入$(document)中.ready…您的代码只在DOM ready上被调用。我在IE9、FF5和Chrome 12中测试了没有空格的id和value属性,这三种浏览器都工作得很好。可能这些浏览器的早期版本不工作,但我想这不是他所写内容的唯一问题。@Anthony:我想不是。我似乎重新设计了几年前,当我在一些代码中看到它时,它也能正常工作。我在IE9、FF5和Chrome 12中测试了id和value属性,但没有空格。这三种浏览器都能正常工作。可能这些浏览器的早期版本不能工作,但我想这不是他所写内容的唯一问题。@Anthony:我想不会。我似乎记得几年前在一些代码中看到它时,它也工作得很好。
    <input type="button" id="sb" value="Create Account"/>