jquery函数不工作不会显示警报

时间:2014-12-12 19:55:27

标签: javascript jquery html

我希望它能更新div并显示警告,但两者都无法正常工作

<script>
    $(document).ready(function() {
    $('#submit').click(function(){
        $.ajax({
            type: 'POST',
            url: '<?php echo URL;?>user/registeruser/',
            data: $('#username').val() + '/' + $('#password').val() + '/' $('#email').val() + '/' $('#firstname').val() + '/' + $('#lastname').val() + '/' $('#securityq1').val() + '/' + $('#securitya2').val() + '/' + $('#securityq2').val() + '/' + $('#securitya2').val(),
            success: function(msg) {
                $('#registermessage').html(msg);
                alert("thgfg");
            }
        });
    })});
    </script>

         <button type="submit" name="submit" class="btn btn-danger">Register</button> </p>

2 个答案:

答案 0 :(得分:4)

你应该在按钮上添加id ..

<script>
$(document).ready(function() {
$('#submit').click(function(){
alert("gi")
    $.ajax({
        type: 'POST',
        url: '<?php echo URL;?>user/registeruser/',
        data: $('#username').val() + '/' + $('#password').val() + '/' $('#email').val() + '/' $('#firstname').val() + '/' + $('#lastname').val() + '/' $('#securityq1').val() + '/' + $('#securitya2').val() + '/' + $('#securityq2').val() + '/' + $('#securitya2').val(),
        success: function(msg) {
            $('#registermessage').html(msg);
            alert("thgfg");
        },error:function(){
      alert("hi");
      }
      });
});
});
</script>

     <button type="submit" id='submit' name="submit" class="btn btn-danger">Register</button>

答案 1 :(得分:2)

这里的行

  $('#submit').click(function(){

可以翻译为

  

jQuery找到带有提交ID的元素,侦听此元素上的click事件并运行以下函数。

在你的情况下,jQuery会监听,但听不到任何东西,因为没有可以触发事件的元素。如果使用#。

,则需要为元素提供ID
<button type="submit" name="submit" <!-- this >> id="submit" --> class="btn btn-danger">

要防止您的按钮表单通过标准html提交,您需要添加

$('#submit').click(function(e){
e.preventDefault();

到你的点击功能。

尝试将其更改为:

...
 $.ajax({
        type: 'POST',
        url: 'user/registeruser',
        data: { username: $('#username').val() , 
                password: $('#password').val() ,
                email :   $('#email').val() ,
                firstname:$('#firstname').val() ,
                lastname: $('#lastname').val() ,
                securityq1:$('#securityq1').val() ,
                securitya2:$('#securitya2').val(),
                securityq2:$('#securityq2').val() ,
                securitya2:$('#securitya2').val()
              }
        success: function(msg) {
            $('#registermessage').html(msg);
            alert("thgfg");
        }
    });
    ...

我希望你的jQuery脚本低于你的html,如果没有,你也需要改变它。