1

我正在开发一个系统,允许用户将书籍添加到他们的图书馆。我正在使用一个 jquery UI 对话框,并使用该脚本的前半部分将大约 20 行插入到数据库中。

然而,正如我在下半场突然添加的那样,帖子信息没有出现在发布的页面上,我完全不知道为什么。

这应该是一个快速添加,结果变成了一个令人头疼的问题。

形式:

<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()" /> 这有效)

4

2 回答 2

1

I think your form must be "visible" in order for the elements to be posted. jQuery can certainly see and access all of the elements regardless of css Display type, but I believe the "submit" action requires the elements that are getting posted to the server be visible. I noticed all the form elements you are attempting to submit are inside of a DIV element with the css property of Display:none;

于 2013-02-07T18:43:36.437 回答
0

在我看来,您正在将提交事件绑定到代码中其他地方的表单。

因此,您可以尝试在不使用 jQuery 的情况下提交表单。

$('#addbookform')[0].submit();

或者取消绑定可能在表单中的任何事件。

$('#addbookform').off().submit();
于 2013-02-07T18:32:15.057 回答