Получить содержимое DIV с помощью JavaScript, .innerHTML не работает?

В настоящее время у меня есть перетаскивание jQuery, и я хочу вставить окончательные результаты в базу данных. Я хочу использовать Javascript для получения значений, но я продолжаю получать результат «NULL», а не фактический контент (сгенерированный PHP / MySQL)

Это мой JavaScript

function getValue() {
var ajaxRequest;  // The variable that makes Ajax possible!
try{

// Opera 8.0+, Firefox, Safari
ajaxRequest = new XMLHttpRequest();
}catch (e){

// Internet Explorer Browsers
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
}catch (e) {

try{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
}catch (e){

// Something went wrong
alert("Your browser broke!");
return false;
}
}
}

var left1 = document.getElementById('left1').getAttribute('value');
var left2 = document.getElementById("left2").getAttribute('value');
var left3 = document.getElementById("left3").getAttribute('value');

var queryString = "?left1=" + left1 ;
queryString +=  "&left2=" + left2 + "&left3=" + left3;
ajaxRequest.open("GET", "http://localhost:8888/ff/public_html/drag_and_drop.php" + queryString, true);
ajaxRequest.send(null);
}

PHP-код:

$dinner1 = $_GET['dinner1'];
$dinner2 = $_GET['dinner2'];
$dinner3 = $_GET['dinner3'];

$query2 = "INSERT INTO weekly_print (dinner1, dinner2, dinner3) VALUES ('".$dinner1."','".$dinner2."','".$dinner3."')";
$result2 = mysql_query ($query2) or trigger_error("Query: $query\n<br />MySQL Error: " . mysql_error());
if (@mysql_num_rows($result2) != 0) {
echo 'Success!!';

}
}

Я пытался использовать его без getAttrubute('value');Однако я продолжал получать [object HTMLDivElement] в следствии.

Это похожие вопросы, но они у меня совсем не сработали.

Как получить содержимое Div с помощью JavaScript
Получить содержимое DIV с помощью JavaScript
JavaScript innerHTML не работает

При использовании innerHTML я получаю результат ‘[object HTMLDivElement]’.

Я знаю, что мне нужно перейти на mysqli вместо mysql, который сейчас находится на тестовом сервере, поэтому, пожалуйста, игнорируйте это.

Мой HTML:

<div class="column" id="left1" style="border: 2px solid #a13f80;"></div>
<div class="column" id="left2" style="border: 2px solid #a13f80;"></div>
<div class="column" id="left3" style="border: 2px solid #a13f80;"></div>

1

Решение

вам просто нужно получить значения вместо attibutes:
document.getElementById('left1').value;

Замените свой код на:

var left1 = document.getElementById('left1').value;
var left2 = document.getElementById("left2").value;
var left3 = document.getElementById("left3").value;

И конвертируйте вашу структуру div в поля ввода, так как получение значений из div и передача их в php — очень нестандартный метод:

<input class="column" id="left1" style="border: 2px solid #a13f80;" />
<input class="column" id="left2" style="border: 2px solid #a13f80;" />
<input class="column" id="left3" style="border: 2px solid #a13f80;" />
2

Другие решения

Ваши div пустые, поэтому innerHTML не работает

PS: не могу комментировать маленькие моменты

1

использование innerText или же textContent атрибут для получения текста div.

left1div = document.getElementById('left1');
var left1divval = left1div.textContent || left1div.innerText;
alert(left1divval);

Смотрите рабочий пример

-1
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector