我有一个值中有ROWID,值中有名称的select,
<select name="opcoes" onchange="showInfo(this.value)">
<option value=''>Select</option>
<option value=6>A</option>
<option value=2>F</option>
<option value=5>L</option>
<option value=1>M</option>
</select>
当你选择一个时,我有这个ajax代码来用php创建一个表单,
function showInfo(str)
{
if (str=="")
{
document.getElementById("fields").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("fields").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","php/vendors/getRow.php?id="+str,true);
xmlhttp.send();
}
接下来,如果选择的值不是",它将转到php,
连接到数据库。。。
echo "<form action='/php/vendors/edit.php' onSubmit='"return confirm('Deseja editar?')'" method='post' >";
echo "<td><input type='text' name='editname' value='".utf8_encode($linha[vendor_name])."' ></td>";
echo "<td><input type='text' name='editemail' value='".utf8_encode($linha[vendor_email])."' ></td>";
echo "<td><input type='text' name='editwebsite' value='".utf8_encode($linha[vendor_website])."' ></td>";
echo "<td><input type='text' name='editphone' value='".utf8_encode($linha[vendor_phone])."' ></td>";
echo "<td><input type='text' name='editfax' value='".utf8_encode($linha[vendor_fax])."' ></td>";
echo "<td><input type='text' name='editadress' value='".utf8_encode($linha[vendor_adress])."' ></td>";
echo "<td><input type='text' name='editincharge' value='".utf8_encode($linha[vendor_incharge])."' ></td>";
echo "<td class='btn'><input class='edit' type='submit' value=''></td>";
echo "</form>";
它正确地显示了每一个信息,唯一的问题是当我点击输入提交按钮时它没有提交。。。有什么想法吗?
您正在生成无效的HTML。
一个窗体可以包含一整张表。表格单元格可以包含整行。表单不能存在于表内,而是存在于该表中的一组单元格周围。
您的浏览器正在错误恢复,将表单移动到表之后的,但将表单控件留在后面。
这意味着提交按钮不在表单中,因此无法提交表单。
如果在文档中动态加载HTML表单,则它们不会在DOM中注册。试着用jQuery委托jQuery委托来完成这项工作