2014-10-23 3 views
-2

Обратите внимание, что этот вопрос не дублируется, я искал существующие связанные вопросы. Привет, У меня есть REST API, который я буду использовать для публикации данных из моей формы. Я не хочу обновлять страницу (для которой я видел ответы). Моя форма:Данные формы POST с использованием PHP

 <form class="t1-form tweet-form 
     condensed 

     is-autogrow 
     " 
     method="post" 
     data-condensed-text="Compose new Tweet...lll" 
     action="/finals/post.php" 
     enctype="multipart/form-data"> 

    <span class="inline-reply-caret"> 
    <span class="caret-inner"></span> 
    </span> 

    <div class="tweet-content"> 


    <div aria-labelledby="tweet-box-mini-home-profile-label"id="tweet-box-mini-home-profile" class="tweet-box rich-editor " contenteditable="true" spellcheck="true" role="textbox" 
     aria-multiline="true"> 


    </div> 
     <input type="submit" value="     Add Another Note     " style="float: right;background-color:White;"> 
    <div class="rich-normalizer"></div> 

    </div> 

</form> 

Я знаю, что я мог бы использовать текстовое поле здесь, но в настоящее время DIV хорошо сидит с некоторыми CSS третьей стороной, и поэтому я не хочу, чтобы изменить любой макет. Подразделение, в котором содержание будет размещен будет написано в:

<div aria-labelledby="tweet-box-mini-home-profile-label"id="tweet-box-mini-home-profile" class="tweet-box rich-editor " contenteditable="true" spellcheck="true" role="textbox" 
    aria-multiline="true"> 


Но это не имеет никакого имени, что я могу получить доступ через $ _POST [ «имя»] в PHP? Как получить содержимое, записанное в этом div? А затем вызовите php-скрипт, например post.php, без обновления страницы, и после того, как post.php был вызван, содержимое div должно быть сброшено. Большое спасибо за вашу помощь.

Упрощенная версия того же вопроса: http://jsfiddle.net/davidThomas/682pG/ Я хочу использовать div (Только div) для получения ввода от пользователя и использования этого ввода для пост-запроса с PHP.

+0

@ Arif_suhail_123 место ввода типа в этом DIV? Пожалуйста, объясните немного. Благодарю. –

+0

@ Arif_suhail_123 Спасибо. но если я поставлю поле ввода в div, это не решение. Ящик - это твиттер, который я взял из исходного кода. Содержимое может быть записано в div. –

+0

Проблема в том, что вы не используете тег ввода с атрибутом value. Когда вы используете тег ввода, атрибут value отправляется на сервер в параметрах. Если вы не хотите использовать тег ввода, вы можете использовать вызов ajax для отправки данных на сервер. Проверьте это: http://api.jquery.com/jquery.ajax/. – stefvhuynh

ответ

0

Не тестировался, но логика может работать:

1) Получить содержимое DIV, либо HTML или текст, используя один из следующих способов:

$("#divThatYouCanWriteStuffIn").html(); 

или

$("#divThatYouCanWriteStuffIn").text(); 

2) Внесите это как скрытый параметр в форму сразу после нажатия кнопки отправки или используйте ajax для отправки запроса со значением, полученным из вышеуказанного метода. Что-то вроде:

$.post("your-rest-uri.php", {'yourdivcontent': $("#divThatYouCanWriteStuffIn").html()}); 

3) Вы можете получить доступ к этому в PHP с помощью:

$_POST["yourdivcontent"] 
1

важно отметить, что при нажатии на кнопку с типом «представить», он будет всегда триггер postback ..

если вы хотите сделать это, не обновляя страницу. Вы должны использовать Ajax и поведение по умолчанию кнопки

<input type="submit" id='btnSubmit' value="Add Another Note" style="float: right;background-color:White;"> 

Script

$("#btnSubmit").click(function(event) { 
event.preventDefault(); 
var valueOfDiv = $("#divThatYouCanWriteStuffIn").text(); 
$.ajax({ 
    url : 'yourphp.php', 
    type: 'post', 
    data: {content: valueOfDiv}, 
    success: function(data){ 
     // do something on the response 
    } 
}); 
}); 

PHP код

$content = $_POST['content']; 
// process it 
// echo your response 
Смежные вопросы