получить нулевое значение при попытке отправить и получить значение формы с помощью json и jquery - PullRequest
0 голосов
/ 25 августа 2010

Вот часть HTML , которая может быть неправильной, возможно, в выражении формы (не уверен):

<div id='data'></div>
  <form action="">
   <input type="text" name="nomeInput" value="" />
</form>

Вот часть javascript :

$(document).ready(function(){

$.post("testeBasico_1.php", {nomeInput : $('#nomeInput').val()}, function(resposta) {
  for (var x = 0, tamanhoDados = resposta.dados.length; x < tamanhoDados; x++){
     $('#data').append(resposta.dados[x]+'<br>');
  }
  //issue line
  $('#data').append('<br />'+resposta.venhoDoInput);
  }, "json");
});

Вот часть php :

$response = (object) array(
    'success' => TRUE,
    'dados'       => array("1", "2", "3"),
    'venhoDoInput' => $_POST['nomeInput']
);
echo json_encode($response);

Когда я пытаюсь это сделать, я получаю нулевое значение на venhoDoInput независимо от того, заполнено ли поле ввода или нет.

Что мне здесь не хватает?(это должно быть что-то очень простое), я просто надеюсь, что, зная это, я смогу лучше понять эти злые строки кода.

Заранее большое спасибо,

MEM

Примечание. Если я дам дамп ($ _ POST ['nomeInput'] в сценарий на стороне сервера, я ничего не отобразлю ..Это, вероятно, потому что я использую js для отображения этих данных в браузере. И я не совсем уверен, как отлаживать серверную часть здесь ...: s

1 Ответ

2 голосов
/ 25 августа 2010

Вы используете селектор идентификатора, но элемент, который вы пытаетесь выбрать, не имеет установленного идентификатора.Добавьте атрибут id = "nomeInput" к входным данным.

Редактировать: Ваш код отправит форму при загрузке страницы.Чтобы отправить его при фактической отправке формы, вам нужно обернуть его слушателем отправки формы.

HTML:

<div id='data'></div>
<form action="" id="myForm">
    <input type="text" name="nomeInput" value="" />
</form>

jQuery:

$(document).ready(function(){

    $('#myForm').submit(function() {
        $.post("testeBasico_1.php", {nomeInput : $('#nomeInput').val()}, function(resposta) {
            for (var x = 0, tamanhoDados = resposta.dados.length; x < tamanhoDados; x++) {
                $('#data').append(resposta.dados[x]+'<br>');
            }
            //issue line
            $('#data').append('<br />'+resposta.venhoDoInput);
        }, "json");
        return false;
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...