3 Stimmen

Problem mit jquery .post() funktioniert nicht

Ich bin neu bei der Verwendung von jquery .post() aber ich bin nicht mit Methoden, die ich nicht bereits vor verwendet haben.

Ich versuche, zwei versteckte Eingabewerte zu veröffentlichen, wenn eine Schaltfläche angeklickt wird:

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

Ich habe getestet, die Schaltfläche Ereignis erfolgreich ausgelöst wird und derzeit alles, was ich versuchen, in zu tun export_file.php ist Echo etwas.

hier ist mein Formular:

<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>

Ich habe mein Div auf der Originalseite:

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

export_file.php:

<?php

echo "whatever, something!";

?>

Kann mir jemand sagen, wo ich falsch liege? Vielen Dank!

0 Stimmen

Was sagt Ihnen die Firebug-Konsole? Irgendein JS-Fehler?

0 Stimmen

Siehe Demo, die ich in meiner Antwort hinzugefügt habe

4voto

Dormouse Punkte 5020

Versuchen Sie es:

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

3voto

Naftali Punkte 141792

Reparieren Sie diese Zeile:

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

Ändern Sie es in etwa so:

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 },

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

1voto

Rory McCrossan Punkte 318758

Ich habe Ihren Formularelementen in Ihrem HTML-Code IDs hinzugefügt:

<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>

Ändern Sie dann die jQuery, um die Werte aus diesen Feldern nach ID zu erhalten, und verwenden Sie diese in den Parametern Ihres AJAX-Aufrufs:

$('#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();
    });
});

0voto

Sharp Coders Punkte 458

Versuchen Sie dies

$('#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();
    });
});

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X