使用javascript获取DIV的内容,. innerhtml不起作用


Get content of DIV using javascript, .innerHTML not working?

我目前有一个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]作为结果。

这些都是类似的问题,但它们对我根本不起作用。

如何通过javascript获取div的内容
使用JavaScript获取DIV的内容
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>

你只需要获取值而不是属性: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;" />

div是空的,这就是为什么innerHTML不工作

PS:不能给小点注释

使用innerTexttextContent属性获取div文本

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

参见工作示例