PHP生成的表单不提交AJAX

PHP生成的表单不提交AJAX,php,javascript,jquery,ajax,html,Php,Javascript,Jquery,Ajax,Html,我有一个select,值中有ROWID,值中有name <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>

我有一个select,值中有ROWID,值中有name

<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>
接下来,如果选择的值不是“”,它将转到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>";
echo”“;
回声“;
回声“;
回声“;
回声“;
回声“;
回声“;
回声“;
回声“;
回声“;

它正确地显示了所有信息唯一的问题是当我点击输入提交按钮时它没有提交。。。知道为什么吗?

如果在文档中动态加载HTML表单,它们不会在DOM中注册。
尝试使用jQuery委托完成此工作,因为您正在生成无效的HTML

表单可以包含整个表。表格单元格可以包含整行。表单不能存在于表内,而是在该表中的一组单元格周围

浏览器正在恢复错误,方法是将窗体移动到表的后面,但将窗体控件留在后面


这意味着submit按钮不在表单中,因此无法提交表单。

该函数是在HTML元素之前还是之后定义的?如果在前面,您应该将其包装在
窗口中。onload
并从中指定
onclick
,我将脚本链接到html的头部。。。我不明白你的意思。。。在页面加载且用户选择一个选项后,会调用它。是否显示“确认”对话框?否:(什么都不知道为什么:控制台中出现错误(F12)?它们是在DOM中注册的,只是不是在页面加载时注册的……但是由于事件处理程序在页面加载时没有绑定,这无关紧要。我认为quentin是对的。但是使用jquery始终是一个好主意,因为他能够用jquerys$.ajax替换丑陋的自制xmlhttprequest……您可以拥有更整洁的XHR代码,而无需使用jquerys$.ajax对于jQuery的开销。@安德烈·阿尔瓦雷斯(AndréAlvarez)如昆廷所说,您在构建表单时有错误,请先更正html,然后再试一次,但如果您检查ajax代码“字段”,这段代码将插入带有div的在html中有一个@AndréAlvarez-这是我的观点。
无效且不起作用。所以它应该是?不!请阅读答案!您必须将表单放在整个表格中或完全放在单个单元格中。
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>";