我尝试使用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;'
,我总是得到这个回报:
在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;
}