我在表单中有两个选择框,一个用于"制作"和#34;模特"。当您从"制作"中选择一个选项时,"模型"下拉列表已填充
$(function() {
$('#id-make-id').change(function(){
var iSel = document.getElementById('id-make-id').value;
$('#div-models').load('populate-models-dropdown.asp?makes='+iSel);
});
});
<select size="1" id="id-make-id" name="frm-make-id">
<option value="1">List of Makes</option
</select>
<div id="div-models">
<select size="1" id="id-model-id" name="frm-model-id">
<option value="1">List of Models</option
</select>
</div>
下拉工作完美无缺。如果表单保持不变,则表单数据提交正常。但是,在更改完成后提交表单时,模型下拉列表中会出现一个新列表,提交后模型下拉框(frm-model-id)的值为0。
内部脚本&#34; populate-models-dropdown.asp&#34;与形式完全相同。
答案 0 :(得分:0)
.load()
方法将整个页面内容加载到<div>
元素中,你很可能在populate-models-dropdown.asp(例如表单本身)中有更多东西,这就是&#39}可能是为什么它会破裂。
要解决此问题,请在populate-models-dropdown.asp中使用此类代码:
'...generate contents here...
Response.Clear()
Response.Write(rawContents)
Response.End()
这将确保只发送下拉HTML的原始内容,而不使用其他HTML。
如果这不起作用,请使用模型下拉列表中的Inspect Element(例如Chrome中的F12)调试问题,并查看您在那里获得的HTML以及它为什么会破坏表单。