Hello Stackoverflow!,
好吧这个问题可能很长,但首先我要写下我想要完成的事情。我有一个下拉菜单和'region'(国家/地区),当选择某个地区时,会有一个函数onchange 获取该值并转到 AJAX函数,回显结果的php文件(该区域中的客户端),这个结果也为每个客户端回显一个表单,这个表单基本上是删除和编辑按钮即可。
当我点击编辑时,这也是 AJAX调用功能,它可以回显另一种形式,我可以编辑注册表。
index.php 中的 脚本
这是我的index.php //索引页 这是我的verCliente.php //这是我在该地区展示客户的第一个ajax调用 这是我的editCliente.php //这是我编辑客户端信息的嵌套ajax调用 第一次通话工作完全得到了该地区的客户,但是当我点击编辑按钮时出现问题。希望你能帮助我,并对这个长期问题感到抱歉。 万一你想知道,当我提交第二个表格来编辑将使用post方法而不是ajax的客户信息时。<script type="text/javascript">
function showUser(str){
if (str=="")
{
document.getElementById("mostrarClientes").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("mostrarClientes").innerHTML=xmlhttp.responseText;
}
}
document.getElementById("mostrarClientes").innerHTML='Espere un momento porfavor...';
xmlhttp.open("GET","verClientesAjax.php?ver="+str,true);
xmlhttp.send();
}
function editUser(str){
if (str=="")
{
document.getElementById("editarClientes").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("editarClientes").innerHTML=xmlhttp.responseText;
}
}
document.getElementById("editarClientes").innerHTML='Espere un momento porfavor...';
xmlhttp.open("GET","editarClientesAjax.php?edit="+str,true);
xmlhttp.send();
}
</script>
<form name="form2">
<select name="regiones" onchange="showUser(this.value)">
<option>Seleccione una region</option>
<?php
while($row = mysql_fetch_assoc($resultRegion)){
echo "<option value=\"".$row['idRegion']."\">".$row['nombre']."</option><br/>";
}
?>
</select>
</form>
<br />
<div id="mostrarClientes"><b>clients by region</b></div>
<div id="editarClientes"><b>form to edit the client</b></div>
<?php
mysql_connect("localhost", "user", "pass") or die(mysql_error());
mysql_select_db("db_clients") or die(mysql_error());
header("Content-type: text/html; charset=windows-1252");
//////THIS IS THE FUNCTION THAT PRINTS THE FORM TO EDIT (IT'S IN THE RETURN)
function repr($pair){
list($a, $b) = $pair;
return "<form name=\"formEdit$b\"> <div style=\"float:left; margin-right:3px\">• $a</div> <div style=\"float:right\"> <input type=\"image\" name=\"edit\" src=\"edit.gif\" border=\"0\" title=\"editar\" value=\"$b\" onClick=\"editUser(this.value)\"></> <input type=\"image\" name=\"del\" src=\"delete.gif\" border=\"0\" title=\"eliminar\" value=\"$b\" onClick=\"if (!confirm('seguro que desea ELIMINAR el registro \'$a\' ?')) {return false} else{delUser(this.value)}\"></> </div> </form>";
}
////////////////////
//////codigo para mostrar clientes
$numReg=$_GET["ver"];
$nombreProvincia = "";
$nombreComuna = "";
$nombreGiro = "";
$nombreNombre = array();
$resultRegion = mysql_query("SELECT idRegion, nombre FROM region WHERE idRegion = '$numReg'");
$titleRegion= mysql_fetch_array($resultRegion);
$resultClientes = mysql_query("SELECT nombre.idNombre AS idNombre, nombre.nombre AS nombreNombre, comuna.nombre AS nombreComuna, giro.nombre AS nombreGiro, provincia.nombre AS nombreProvincia, provincia.region_idRegion AS idRegion FROM nombre INNER JOIN comuna ON nombre.Comuna_idComuna = comuna.idComuna INNER JOIN giro ON nombre.Giro_idGiro = giro.idGiro INNER JOIN provincia ON comuna.Provincia_idProvincia = provincia.idProvincia WHERE provincia.region_idRegion = '$numReg' ORDER BY nombreProvincia, nombreComuna, nombreGiro, nombreNombre");
$num_results = mysql_num_rows($resultClientes);
echo '<h2>'.$titleRegion['nombre'].'</h2>';
if ($num_results > 0){
while ($row = mysql_fetch_assoc($resultClientes)) {
if ($nombreProvincia == $row['nombreProvincia']) {
if ($nombreComuna == $row['nombreComuna']) {
if ($nombreGiro == $row['nombreGiro']) {
$nombreNombre[] = $row['nombreNombre'];
array_push($nombreNombre,$row['idNombre']);
}
else { //nombreGiro
$nombreNombre = array_chunk($nombreNombre, 2);
$nombreNombre = array_map("repr", $nombreNombre);
echo '<td style="background-color: #CCCCFF">' .implode('<br />', $nombreNombre).'';
$nombreGiro = $row['nombreGiro'];
echo '</ul></td></tr><tr><td style="background-color: #FFF084">'.$nombreGiro.'</td>';
$nombreNombre = array($row['nombreNombre']);
array_push($nombreNombre,$row['idNombre']);
}
}
else { // nombreComuna
$nombreNombre = array_chunk($nombreNombre, 2);
$nombreNombre = array_map("repr", $nombreNombre);
echo '<td style="background-color: #CCCCFF">' . implode('<br />', $nombreNombre).'</td></tr>';
$nombreComuna = $row['nombreComuna'];
echo '<tr><td colspan="2" style="background-color: #FFCC00"><h4 style="margin: 0">'.$nombreComuna.'</h4></td></tr>';
$nombreGiro = $row['nombreGiro'];
echo '<tr><td style="background-color: #FFF084">'.$nombreGiro.'</td>';
$nombreNombre = array($row['nombreNombre']);
array_push($nombreNombre,$row['idNombre']);
}
}
else { // nombreProvincia
if (!empty($nombreNombre)) {
$nombreNombre = array_chunk($nombreNombre, 2);
$nombreNombre = array_map("repr", $nombreNombre);
echo '<td style="background-color: #CCCCFF">' . implode('<br />', $nombreNombre).'</td></tr></table>';
}
$nombreProvincia = $row['nombreProvincia'];
echo '<table cellspacing="1" style="background-color:#000000; float:left;margin-right:10px"><tr><td colspan="2" style="background-color: #FF6600; text-align:center"><h3 style="margin: 0">'.$nombreProvincia.'</h3></td></tr>';
$nombreComuna = $row['nombreComuna'];
echo '<tr><td colspan="2" style="background-color: #FFCC00"><h4 style="margin: 0">'.$nombreComuna.'</h4></td></tr>';
$nombreGiro = $row['nombreGiro'];
echo '<tr><td style="background-color: #FFF084">'.$nombreGiro.'</td>';
$nombreNombre = array($row['nombreNombre']);
array_push($nombreNombre,$row['idNombre']);
}
}
if (!empty($nombreNombre)) {
$nombreNombre = array_chunk($nombreNombre, 2);
$nombreNombre = array_map("repr", $nombreNombre);
echo '<td style="background-color: #CCCCFF">' . implode('<br />', $nombreNombre).'</td></tr></table>';
}
}
else{echo '<p>ningun dato fue encontrado aqui!</p>';}
?>
<?php
mysql_connect("localhost", "user", "pass") or die(mysql_error());
mysql_select_db("db_clients") or die(mysql_error());
header("Content-type: text/html; charset=windows-1252");
$regEdit=$_GET["edit"];
//////dropbox results para EDITAR
$resultComunaEdit = mysql_query("SELECT idComuna, nombre FROM comuna ORDER BY nombre ASC");
$resultGiroEdit = mysql_query("SELECT idGiro, nombre FROM giro ORDER BY nombre ASC");
/////////////////////
$editSql=mysql_query("SELECT nombre.idNombre AS idNombre, comuna.nombre AS comuna, giro.nombre AS giro, nombre.nombre AS nombre FROM nombre INNER JOIN comuna ON nombre.Comuna_idComuna = comuna.idComuna INNER JOIN giro ON nombre.Giro_idGiro = giro.idGiro WHERE idNombre = '$regEdit'");
$rowEdit = mysql_fetch_array($editSql);
$regName=$rowEdit['nombre'];
$regComuna=$rowEdit['comuna'];
$regGiro=$rowEdit['giro'];
echo '<h3>========================EDITAR CLIENTES====================================</h3>';
echo 'editando registro numero: '.$regEdit.'';
echo "<form name=\"editor\" method=\"POST\" action=\"".$_SERVER['PHP_SELF']."\"><div align=\"center\">";
echo "NOMBRE CLIENTE (max 16): <input name=\"nombreNuevo\" type=\"text\" maxlength=\"16\" size=\"25\" value=\"".$regName."\"></>";
echo "GIRO: ";
echo "<input name=\"giroNuevo\" type=\"text\" style=\"background-color:#CFCFCF\" maxlength=\"16\" size=\"15\" value=\"".$regGiro."\" readonly=\"readonly\"></>";
echo "<select name=\"giroEdit\"><option value=\"\">CAMBIAR A:</option>";
while($row = mysql_fetch_assoc($resultGiroEdit)){
echo "<option value=\"".$row['idGiro']."\">".$row['nombre']."</option><br/>";
}
echo "</select>";
echo "COMUNA: ";
echo "<input name=\"comunaNuevo\" type=\"text\" style=\"background-color:#CFCFCF\" maxlength=\"20\" size=\"15\" value=\"".$regComuna."\" readonly=\"readonly\"></>";
echo "<select name=\"comunaEdit\"><option value=\"\">CABIAR A:</option>";
while($row = mysql_fetch_assoc($resultComunaEdit)){
echo "<option value=\"".$row['idComuna']."\">".$row['nombre']."</option><br/>";
}
echo "</select>";
echo "<input type=\"submit\" name=\"submitEditar\" value=\"Guardar Cambio\" onClick=\"return confirm('seguro que desea guardar cambios?');\"> </>";
echo "<input type=\"hidden\" value=\"".$regEdit."\" name=\"idEdit\" id=\"idEdit\"/>";
echo "</div></form>";
?>
答案 0 :(得分:0)
问题是我使用的是输入类型的图像,所以当点击时,刷新网站,没有onclick功能没有加载,所以我只是改变输入类型图像的按钮然后它工作=)