0

该页面的链接是:localhost/mysite/create-user

这是代码:

        <form class="form-horizontal" name = "signUp1F" id = "signUp1F">
            <input class="input-xlarge focused" name="pskil" id ="pskil" type="text" placeholder = "Doctor, Trainer, Human Resource etc.">
            <input type="hidden" name="neoid" id="neoid" value="<?php echo $neoid; ?>" />
            <span><button id = "plus" class="btn btn-success">Plus</button></span>
            <div id="skillsAdded"></div>
        </form>

jQuery代码:

<script type="text/javascript">
    $('#plus').click( function(event){
        var pskil = $('#pskil').val();
        var neoid = $('#neoid').val();
        if( !pskil){
            alert( "Please write a skill.");
            return false;
        }

        $.ajax({
            type: 'post',
            url: "localhost/mysite/add-skill",
            data: { pskil: pskil, neoid: neoid},
            success: function( response){
                $('#skillsAdded').append( pskil + "<br>");
                return false;
            }
        });
    });
</script>

目的是这样的:用户在输入中输入一个技能值,单击加号按钮,发送一个 ajax 请求以将技能添加到数据库。处理此请求的代码位于 localhost/mysite/add-skill 上。

但事情出错了。当我单击“加号”按钮时,它会转到页面 localhost/mysite/create-user?pskil=php&neoid=53。什么可能使这个方向?我已经在这个问题上工作了将近 2 个小时,但我无法处理它。

4

1 回答 1

1

问题是您的按钮标签提交您的表单。这是您可以使用的更新的 JavaScript 源代码。jQuery 为事件提供了一个内置的 preventDefault() 方法。例如,这将阻止按钮提交表单。

<script type="text/javascript">
    $('#plus').click( function(event){
        event.preventDefault();

        var pskil = $('#pskil').val();
        var neoid = $('#neoid').val();
        if( !pskil){
            alert( "Please write a skill.");
            return false;
        }

        $.ajax({
            type: 'post',
            url: "localhost/mysite/add-skill",
            data: { pskil: pskil, neoid: neoid},
            success: function( response){
                $('#skillsAdded').append( pskil + "<br>");
                return false;
            }
        });
    });
</script>

试用:http: //jsfiddle.net/3A7Mg/1/

于 2012-11-17T23:58:44.843 回答