За последние 24 часа нас посетили 61108 программистов и 1750 роботов. Сейчас ищут 838 программистов ...

POST средствами Ajax [Помогите отправить еще одни дынные...]

Тема в разделе "JavaScript и AJAX", создана пользователем Invision, 9 фев 2011.

  1. Invision

    Invision Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    Отправляет данные формы:

    [js] <script type=\"text/javascript\">
    $(function() {
    $('#translate').click(function() {
    var text = $('#source').val();
    $.ajax({
    url: 'plugins/translate/translated.php',
    type: 'POST',
    data: 'text=' + text,
    success: function(html) {
    $(\"#enText\").html(html);
    }
    });
    });
    });
    </script>[/js]

    HTML:
    1.         <div id=\"ruText\">
    2.             <textarea id=\"source\" rows=\"5\" cols=\"39\"></textarea>
    3.             <br />
    4.             <input id=\"translate\" type=\"submit\" value=\"Перевести\" />
    5.         </div>
    Хочется добавить форму выбора языка, select и option, но не знаю как из этого сформировать POST. т.е куда в JS что добавить... подскажите куда добавить данные другой формы к примеру id=select и POST['lng']!
     
  2. bkm

    bkm Активный пользователь

    С нами с:
    22 окт 2009
    Сообщения:
    299
    Симпатии:
    0
    может как-то так

    PHP:
    1.  <script type=\"text/javascript\">
    2.         $(function() {
    3.             $('#translate').click(function() {
    4.                 var text = $('#source').val();
    5.                 var text = $('#lang').val();
    6.                 $.ajax({
    7.                     url: 'plugins/translate/translated.php',
    8.                     type: 'POST',
    9.                     data: 'text=' + text,
    10.                     success: function(html) {
    11.                      $(\"#enText\").html(html);
    12.                      }
    13.                  });  
    14.              });
    15.          });
    16.   </script>
    PHP:
    1. <div id=\"ruText\">
    2.             <textarea id=\"source\" rows=\"5\" cols=\"39\"></textarea>
    3.             <br />
    4.             <select name='lang' id='lang'><optons value='ru'>русс</options><optons value='en'>en</options></select>
    5.             <input id=\"translate\" type=\"submit\" value=\"Перевести\" />
    6.         </div>
    а уже в translated.php проверяем $_POST['lang'] ru или en
     
  3. Invision

    Invision Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    Работает но теперь посылается только $_POST['lang']

    $_POST['test'] не работает
     
  4. Invision

    Invision Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    проблема мб в var text и data: 'text=' + text, помогите правильно записать )
     
  5. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    data: {'text':text, 'lang':$('#some').val().....}
    что не катит?
     
  6. Invision

    Invision Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    что еще за lang':$('#some').val() ? в data: 'text=' + text, нужно что то писать чтобы работало?
     
  7. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
  8. Invision

    Invision Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    ну не шарю я в JS по этому и спрашиваю как отправить дополнительно $_POST['lang']
     
  9. bkm

    bkm Активный пользователь

    С нами с:
    22 окт 2009
    Сообщения:
    299
    Симпатии:
    0
    первое значение переменной text заменяется на второе, тут все правильно.
    попробуй так, но не уверен. может и сработает

    [js]<script type="text/javascript">
    $(function() {
    $('#translate').click(function() {
    var text = $('#source').val();
    var text2 = $('#lang').val();
    $.ajax({
    url: 'plugins/translate/translated.php',
    type: 'POST',
    data: 'text=' + text,
    data: 'text2=' + text2,
    success: function(html) {
    $("#enText").html(html);
    }
    });
    });
    });
    </script>[/js]

    или

    data: 'text=' + text + text2,

    HTML:
    1. <div id="ruText">
    2.              <textarea id="source" rows="5" cols="39"></textarea>
    3.              <br />
    4.              <select name='lang' id='lang'><optons value='ru'>русс</options><optons value='en'>en</options></select>
    5.              <input id="translate" type="submit" value="Перевести" />
    6.          </div>
     
  10. Invision

    Invision Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    data: 'lang=123&text=' + text,

    вот так скажем работает но как правильно добавить + lang не знаю( ничего не выходит
     
  11. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    [js]data: { 'text': text, 'lang': lang },[/js]

    бессмысленно
     
  12. Invision

    Invision Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    аха делов то) спасибо большое!!! :)