2017-02-17 1 views
0

J'ai un problème étrange qui me rend fou! Je voudrais soumettre un formulaire HTML par ajax en utilisant jquery-form version 3.46.0 et puis obtenir les données POST sur le serveur, mais le nom de mon bouton Submit n'apparaîtra pas dans les données POST! Peut-être qu'il y a quelque chose qui ne va pas avec cette lib?Le nom du bouton Envoyer ne sera pas posté sur le formulaire soumis lors de l'utilisation de jquery-form

Ce mon code:

<form id="form" action="test.php" method="post"> 
    <input name="email" type="email" placeholder="Email" required> 
    <!-- And yes! I didn't use an input with type submit because 
    I need my button to have some HTML content and applied css styles to them. --> 
    <button id="submit" type="submit" name="myFormName"> 
    <span class="label">Submit</span> 
    </button> 
</form> 
<div id="formResult" style="display: block; margin: 20px 0; padding: 10px; background-color: #fbe6e6;" role="alert"></div> 

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
<script src="//oss.maxcdn.com/jquery.form/3.50/jquery.form.min.js"></script> 
<script> 
    jQuery(document).ready(function($) { 

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

     $('#form').ajaxSubmit({ 
     clearForm: true, 
     target: '#formResult', 
     success: function() { 
      // do sth 
     }, 
     error: function() { 
      // do sth 
     } 
     }); 
    }); 
    }); 
</script> 

Et voici le fichier test.php:

<?php 
var_dump($_POST); 

J'ai besoin du nom de mon bouton Soumettre apparaît dans les données POST sur le serveur comme prévu ... Mais ce n'est pas le cas! Est-ce que quelqu'un a une idée?

+0

Je ne vois aucun problème de mon côté, le bouton a une icône spining test.php montre l'e-mail entré –

+0

Vous venez de supprimer votre nom de bouton 'name =" myFormName "' – Nawin

+0

Bien sûr, test.php montre l'emailed entré ... mais il ne montre pas le nom du bouton de soumission inclus dans les données POST. Tu sais ce que je veux dire? – Ali

Répondre

0

Si vous utilisez le nom du bouton, alors en prenant $ _POST, la valeur s'affichera en tant que données de publication. Au lieu d'utiliser le nom essayez d'utiliser id ou supprimer simplement que si vous n'avez pas l'utilisation de ce pour soumettre le formulaire

-1
<div><a href="javascript:foo1()"> 
<div class="holder"><span class="label">Submit</span></div> 
<div class="loader"><i class="fa fa-circle-o-notch fa-spin"></i></div></a></div> 

et mettre en œuvre foo1.

+0

Il y a toujours des solutions de contournement! Mais cette solution n'est pas jolie ... – Ali