gpt4 book ai didi

javascript - 从 div 标签中获取值

转载 作者:行者123 更新时间:2023-11-30 18:49:34 24 4
gpt4 key购买 nike

我有以下情况,我知道在 stackoverflow 中有很多这个主题,但没有答案给出真正的解决方案,所以我再次发帖。

首先看一下这段代码:

<tr>
<td align="right">Estado</td><td>
<select name="estado" onChange="javascript:Atualiza(this.value,'0');">
<option>[selecione]</option>
<?
$qry = "SELECT nome, uf FROM tb_estados";
$res = mysql_query($qry);
while ($ln = mysql_fetch_array($res)) {
echo "<option value='$ln[uf]'>".$ln['nome']."</option>";
}
?>
</select>
</td>
</tr>

现在在这段代码中

<tr>
<td align="right">Cidade</td>
<td><div id="atualiza"></div></td>
</tr>

我有一个链接组合,用于显示州和城市。

现在我的问题:我无法从我的 <div id="atualiza"> 中获取值<select name="estado" 的值没问题,因为它是我表单的对象,但 div 标签不是表单的对象。我需要 INSERT INTO我的数据库 <div id="atualiza"> 的值

如何做到这一点?

我想将值保存在一个隐藏字段中,然后发送到我的表单中以插入到我的数据库中。

我以前遇到过类似的情况,我解决了这个问题,但它太奇怪了,我知道有一种简单的方法可以做到这一点。

Atualiza 函数

function Atualiza(valor,cid) 
{
loadXMLDoc("combo_cidade.php",valor,cid);
}

还有我的页面combo_cidade.php

<?php 
echo "<select name='cidade' id='cidade'>";
echo "<option>[selecione]</option>";

# my databse connection
include_once("config/config.php");

$sql = "SELECT tb_cidades.nome, tb_cidades.id FROM tb_cidades INNER JOIN tb_estados ON tb_cidades.uf=tb_estados.uf WHERE tb_cidades.uf='".$_GET["uf"]."'";
$resultado = mysql_query($sql);
while ($linha = mysql_fetch_array($resultado)){
if ($_GET["cid"]==$linha["id"]){$sel="selected";}else{$sel="";}
echo "<option value='$linha[id]' $sel>$linha[nome]</option>";
}
echo "</select>";


?>

这是处理我的组合的整个脚本

// JavaScript Document
var req;

function loadXMLDoc(url,valor,cid)
{
req = null;
// Procura por um objeto nativo (Mozilla/Safari)
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
req.onreadystatechange = processReqChange;
req.open("GET", url+'?uf='+valor+'&cid='+cid, true);
req.send(null);
// Procura por uma versao ActiveX (IE)
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
if (req) {
req.onreadystatechange = processReqChange;
req.open("GET", url+'?uf='+valor+'&cid='+cid, true);
req.send();
}
}
}

function processReqChange()
{
// apenas quando o estado for "completado"
if (req.readyState == 4) {
// apenas se o servidor retornar "OK"
if (req.status == 200) {
// procura pela div id="atualiza" e insere o conteudo
// retornado nela, como texto HTML
document.getElementById('atualiza').innerHTML = req.responseText;
} else {
alert("Houve um problema ao obter os dados:\n" + req.statusText);
}
}
}

function Atualiza(valor,cid)
{
loadXMLDoc("combo_cidade.php",valor,cid);
}

最佳答案

在页面中添加这段JS代码:

<script type="text/javascript">
function AddHiddenValue(oForm) {
var strValue = document.getElementById("atualiza").innerHTML;
var oHidden = document.createElement("input");
oHidden.name = "atualiza";
oHidden.value = strValue;
oForm.appendChild(oHidden);
}
</script>

然后在表单标签中加入:

<form ... onsubmit="AddHiddenValue(this);">

最后从您的 PHP 代码中的请求中读取“atualiza”的值。

关于javascript - 从 div 标签中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4378610/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com