在选择变提交的Ajax表单表单、Ajax

2023-09-10 21:25:22 作者:男生也很容易吃醋

我要选择更改提交表单。有形式我。

I need to submit form on selection change. There's form I have.

<form id="form" name="form" method="post" action="modules/submit.php">
<select name='category' id='category' size='12' onChange='this.form.submit();'>
<option value='1'>One</option>
<option value='2'>Two</option>
<option value='3'>Three</option>
</select>
<select name='subcategory' id='subcategory' size='12'>
</select>
</form>

记者:

$(document).ready(function(){
    $('#form').submit(function() {
        select();
        e.preventDefault();
    });

});


function select()
{
    error(0);

    $.ajax({
        type: "POST",
        url: "modules/submit.php",
        data: $('#form').serialize(),
        dataType: "json",
        success: function(msg){
            if(parseInt(msg.status)==1)
            {
                window.location=msg.txt;
            }
            else if(parseInt(msg.status)==0)
            {
                result(1,msg.txt);
            }
        }
    });

}

function result(act,txt)
{
    if(txt) $('#subcategory').html(txt);
}

submit.php:

submit.php:

if(isset($_POST['category'])){
die(msg(0,"<option value='0'>Trololo</option>"));
}
function msg($status,$txt)
{
    return '{"status":'.$status.',"txt":"'.$txt.'"}';
}

当我改变选择的形式提交,并重定向到submit.php文件。 我需要得到结果子类别的选择。

When i change selection form is being submitted and redirects to submit.php file. I need to get results for subcategory selection.

推荐答案

试试这个:

$('#category').change(function() {

    $('#form').submit();

});

另外,你的code将无法完成prevent的默认操作表单提交,是因为你没有通过事件函数的参数

$('#form').submit(function(e) { //Note the e!!
    e.preventDefault();
    select();
});