Question

je suis donc nouveau dans l'utilisation de jquery .post() mais je n'utilise pas de méthodes que je n'ai pas déjà utilisées auparavant.

J'essaie de publier deux valeurs d'entrée masquées lorsqu'un bouton est cliqué :

$('#button').live('click', function() {
    $.post('export_file.php', { group: form.group.value , test: form.test.value },
    function(output)    {
        $('#return').html(output).show();
    });
});

J'ai testé l'événement du bouton se déclenche avec succès et actuellement tout ce que j'essaie de faire export_file.php fait écho à quelque chose.

voici mon formulaire :

<form name="form">
<input type="hidden" name="group" value="<?echo $group;?>">
<input type="hidden" name="test" value="<?echo $test_id;?>">
<input type="button" class="Mybutton" id="button" name="btnSubmit" value="Export Results">
</form>

j'ai mon div sur la page d'origine :

<div id='return'></div>

export_file.php :

<?php

echo "whatever, something!";

?>

Quelqu'un pourrait-il m'indiquer où je me trompe.Merci beaucoup,

Était-ce utile?

La solution

Corrigez cette ligne :

$.post('export_file.php', { group: form.group.value , test: form.test.value },

Changez-le en quelque chose comme ceci :

var group_val = $('input[name="group"]', 'form[name="form"]').get(0).value;
var test_val = $('input[name="test"]', 'form[name="form"]').get(0).value;
$.post('export_file.php', { group: group_val , test: test_val },

Violon: http://jsfiddle.net/maniator/cQ2vZ/

Autres conseils

Essayer:

$('#button').live('click', function() {
    $.post('export_file.php', { group: $("input[name='group']").val() , test: $("input[name='test']").val() },
    function(output)    {
        $('#return').html(output).show();
    });
});

J'ai ajouté des identifiants aux éléments de votre formulaire dans votre HTML :

<form name="form">
    <input type="hidden" name="group" id="group" value="<?echo $group;?>">
    <input type="hidden" name="test" id="test" value="<?echo $test_id;?>">
    <input type="button" class="Mybutton" id="button" name="btnSubmit" value="Export Results">
</form>

Ensuite, j'ai modifié le jQuery pour obtenir les valeurs de ces champs par ID, et utilisez-les dans les paramètres de votre appel AJAX :

$('#button').live('click', function() {
    var groupValue = $("#group").val();
    var testValue = $("#test").val();

    $.post('export_file.php', { group: groupValue , test: testValue },
    function(output)    {
        $('#return').html(output).show();
    });
});

essaye celui-là

$('#button').live('click', function() {
    var group_val = $("input[name='group']").val(); // gets the value of hidden field with the name group
    var test_val = $("input[name='test']").val(); // gets the value of hidden field with the name test and store it in test_val variable
    $.post('export_file.php', { group: group_val  , test: test_val  },
    function(output)    {
        $('#return').html(output).show();
    });
});
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top