$ _POST [' aggInf']在表单提交时为空

时间:2016-01-05 15:23:11

标签: php jquery forms

我尝试使用jquery from plugin提交表单有多个提交,但我无法从php中的$_POST['aggInf']获取值,我可以在js中获取它。

我的表格:

<form action="#" method="post" id="gestioneProfilo">

我的意见:

<input name="aggInf" type="submit" value="Upload" class="upload"> <input name="aggInfAnn" type="submit" value="Annulla" id="cancel">

如果我尝试使用onsubmit='alert($(this).serialize()); return false;',我总是得到这个回报:

alert error

在js方面,我使用this solution并且它工作正常,如果我尝试console.log()命令,我得到正确的value。 如果我尝试var_dump()命令,我只获得所有其他输入和文本框值。我该如何解决这个问题?

完整格式html:

    <form action="#" method="post" id="gestioneProfilo">

        <!-- Scelta avatar -->
        <div id="sceltaAvatar">

            <!-- Profilo -->
            <div id="perAvatar">
                <h1>Scelta dell'Avatar</h1>
                <p>Carica dal tuo pc o dal web una tua immagine di profilo</p>
                <!-- <input type="hidden" name="immP"> -->
            </div>

            <!-- Copertina -->
            <div id="perCopertina">
                <h1>Scelta della copertina</h1>
                <p>Carica dal tuo pc o dal web una tua immagine di copertina</p>
                <!-- <input type="hidden" name="immC"> -->
            </div>

            <!-- Info generali -->
            <div id="altreInfo">
                <div>

                    <!-- informazioni -->
                    <h1>Informazioni</h1>
                    <textarea placeholder="Cosa fai nella vita? Scrivi una breve descrizione su di te" name="bio" id="bio"><?php get_stuff('bio', TRUE, TRUE) ?></textarea>
                </div>
                <div id="due">
                    <div>

                        <!-- Sito -->
                        <h1>Sito</h1>
                        <textarea placeholder="Il tuo sito" name="sito" id="sito"><?php get_stuff('sito', TRUE, TRUE) ?></textarea>
                    </div>
                    <div>

                        <!-- Posizione -->
                        <h1>Posizione</h1>
                        <textarea placeholder="Da dove vieni?" name="pos" id="pos"><?php get_stuff('pos', TRUE, TRUE) ?></textarea>
                    </div>
                </div>
            </div>

            <!-- Torna indietro -->
            <input name="aggInf" type="submit" value="Upload" class="upload">
            <input name="aggInfAnn" type="submit" value="Annulla" id="cancel">
        </div>
    </form>
    <?php include_once 'lightbox.php' ?>

JS:

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

    var
        val = $("input[type=submit][clicked=true]").val(),
        pop = $(this);

    console.log(val);
    // it works, if i press upload it prints upload, if i press annulla it prints annulla

    if (val == "Upload") {
        $(this).ajaxSubmit({
            type: 'POST',
            url: "lib/ajax.php",
            dataType: "json",
            data: pop.serialize(),
            success: function(data){
                //stuff
            }
        });
    }else{
        cambiaA("#perCommentare", "#gestioneProfilo", "ritorna");
    };
});

$(document).on('click', '#gestioneProfilo input[type=submit]', function() {
    $("input[type=submit]",
    $(this).parents("#gestioneProfilo")).removeAttr("clicked");
    $(this).attr("clicked", "true");
});

PHP:

if (isset($_POST['aggInf'])) {

    update_info();

    $return_data['immP'] = get_stuff('immP');
    $return_data['immC'] = get_stuff('immC');
    $return_data['bio']  = get_stuff('bio');
    $return_data['sito'] = get_stuff('sito', FALSE, TRUE);
    $return_data['pos']  = get_stuff('pos');
    echo json_encode($return_data);
    exit;
}

0 个答案:

没有答案