我正在开发一个系统,允许用户将图书添加到他们的图书馆。我正在使用jquery UI对话框,并使用此脚本的前半部分将大约20行插入到数据库中。
然而,正如我在下半部分突然添加的帖子信息没有显示在已发布的页面上,我完全迷失了原因。
这应该是一个快速的补充,变成了头痛。
FORM:
<form id="addbookform" action="../models/Books/addBook_submit.cfm" method="POST">
<div style="display: none;" id="addBook" title="Add a Book to Your Library">
<input type="hidden" id="InputType" name="InputType" value="Add"/>
<input type="hidden" id="bookempID" name="bookempID"/>
<label class="labelstyle" >ISBN:</label>
<input type="text" maxlength="17" id="ISBN" name="ISBN">
<label class="labelstyle" >Title:</label>
<input type="text" maxlength="100" size="50" id="Title" name="Title">*
<label class="labelstyle">Author's First Name: </label>
<input type="text" maxlength="50" id="AFName" name="AFName">
<label class="labelstyle">Author's Middle Name:</label>
<input type="text" maxlength="50" id="AMName" name="AMName">
<label class="labelstyle">Author's Last Name:</label>
<input type="text" maxlength="50" id="ALName" name="ALName">*
<label class="labelstyle">Date Read:</label>
<input type="text" id="DateRead" name="DateRead">
</div>
</form>
使用Javascript:
function addBook() {
$("#addBook").dialog({
autoOpen: true,
width: ($(document).width()*.55),
height: ($(document).height()*.7),
modal: true,
buttons: {
"Add Book": function() {
//checkBook();
$('#addbookform').submit();
},
Cancel: function() { $(this).dialog("close"); }
}
});
}
在我开始构建checkBook()
之前,上面的内容正在运行。但是,现在它已经不再有效了。
编辑:
表格由以下人员发起:
<input type="button" class="buttonstyle" value="Add Book" onclick="addBook()" />
(这有效)
答案 0 :(得分:1)
我认为您的表单必须“可见”才能发布元素。无论css显示类型如何,jQuery当然可以查看和访问所有元素,但我相信“提交”操作需要显示发布到服务器的元素。我注意到你试图提交的所有表单元素都在一个DIV元素中,其css属性为Display:none;
答案 1 :(得分:0)
在我看来,您正在将提交事件绑定到代码中其他位置的表单。
因此,您可以尝试在没有jQuery的情况下提交表单。
$('#addbookform')[0].submit();
或取消绑定可能在表单中的任何事件。
$('#addbookform').off().submit();