我已经连续几天要求解决我的问题,但我还没有找到解决问题的解决方案。我希望这里的某个人能够帮助我或指出我正确的方向。 我的问题如下: 我正在使用jquery(1.9.0)和jquery-ui(1.10.1)。我有一个带有表单的页面,应该发布到php脚本以将数据添加或更新到我的数据库中。所有在FF中工作都很好,甚至在IE 8和IE 10中也可以。但在IE9中数据没有提交:var_dump'ing $ _POST-array给了我一个空数组,没有发布任何内容。
以下是代码(我将提交要点:
<form name="documents" id="documents" method="POST" action="inc/add_new_doc.php">
<table class="invoer" align="left">
<tr>
<th align="left" colspan="8"><h2>Please fill out all fields</h2></th>
</tr>
<tr>
<td align="right">Originator:</td>
<td colspan="2"><select name="company_id" id ="company_id"><?php echo getCompanyList(0); ?></select></td>
<td>Originator document number:</td>
<td colspan="2"><input name="docnrsupplier" id="docnrsupplier" type="text" size="30" tabindex="2" /></td>
<td>Document category:</td>
<td><select name="doccat_id" id ="doccat_id"><?php echo getDocCatList(0); ?></select></td>
</tr>
<tr>
<td ></td>
<td colspan="2"><b>LAB GmbH</b></td>
<td>LAB document number:</td>
<td colspan="2"><input name="docnrlab" id="docnrlab" type="text" size="30" tabindex="2" /></td>
<td>Document size:</td>
<td><select name="docsize_id" id ="docsize_id"><?php echo getDocSizeList(0); ?></select></td>
</tr>
<tr>
<td align="right">Client:</td>
<td colspan="2"><b>CEH</b></td>
<td>Client document number:</td>
<td colspan="2"><input name="docnrclient" id="docnrclient" type="text" size="30" tabindex="2" /></td>
<td>Current revision:</td>
<td><select name="revi" id ="revi"><?php echo buildAZSelector(); ?></select></td>
</tr>
<tr>
<td align="right">Title (line 1):</td>
<td colspan="5"><input name="title1" id="title1" type="text" size="100" tabindex="2" /></td>
<td>Current doc. phase:</td>
<td><select name="docphase_id" id ="docphase_id"><?php echo getDocPhaseList(0); ?></select></td>
</tr>
<tr>
<td align="right">Title (line 2):</td>
<td colspan="5"><input name="title2" id="title2" type="text" size="100" tabindex="2" /></td>
</tr>
<tr>
<td align="right">Title (line 3):</td>
<td colspan="5"><input name="title3" id="title3" type="text" size="100" tabindex="2" /></td>
</tr>
<tr>
<td align="right">Title (line 4):</td>
<td colspan="5"><input name="title4" id="title4" type="text" size="100" tabindex="2" /></td>
</tr>
<tr>
<td align="right">File formats:</td>
<td align="right"><i>editable:</i></td>
<td ><select name="docformat_editable_id" id ="docformat_editable_id"><?php echo getDocFormatList(0, 1); ?></select></td>
<td align="right">Filename:</td>
<td colspan="4" align="left"><input name="file_editable" id="file_editable" type="text" size="50" tabindex="2" /></td>
</tr>
<tr>
<td align="right"></td>
<td align="right"><i>non-editable:</i></td>
<td ><select name="docformat_noneditable_id" id ="docformat_noneditable_id"><?php echo getDocFormatList(0, 0); ?></select></td>
<td align="right">Filename:</td>
<td colspan="4" align="left"><input name="file_noneditable" id="file_noneditable" type="text" size="50" tabindex="2" /></td>
</tr>
<tr>
<td></td>
<td colspan="8">
<div class="button ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" id="submitNewDoc" role="button" aria-disabled="false">
<span class="ui-button-text">Submit</span>
</div>
<div class="button ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" id="cancelNewDoc" role="button" aria-disabled="false">
<span class="ui-button-text">Cancel</span>
</div>
</td>
</tr>
</table>
</form>
提交按钮的jquery:
$( "#submitNewDoc" )
.button()
.click(function() {
$( "#documents" ).submit();
});
当我在FF和IE8或IE10中测试时,数据发布得很好。只有在IE9中才会发布数据,我收到“array {}”。
有没有人知道我做错了什么?
**更新回复穆罕默德的问题**
除了MySQL查询之外,php文件中没有任何内容:
// All general includes
require_once('config.php');
require_once('functions.general.php');
require_once('functions.dbase.php');
//require_once("standardLists.php");
// make a connection, so we can use mysql_real_escape_string
$con = mysql_connect($db_host, $db_user, $db_password);
if (!$con) { die('Could not connect: ' . mysql_error()); }
// Initialise database object and establish a connection
// at the same time - db_user / db_password / db_name / db_host
$db = new ezSQL_mysql($db_user,$db_password,$db_name,$db_host);
var_dump($_POST); // testing
/* Storing the info into the DB */
$sql1 = "INSERT INTO documents
(company_id, docnrsupplier, docnrlab, docnrclient, title1, title2, title3,
title4, docformat_editable_id, docformat_noneditable_id, file_editable, doccat_id, docsize_id, docphase_id, file_noneditable)
VALUES (
'".$_POST['company_id']."',
'".$_POST['docnrsupplier']."',
'".$_POST['docnrlab']."',
'".$_POST['docnrclient']."',
'".$_POST['title1']."',
'".$_POST['title2']."' ,
'".$_POST['title3']."',
'".$_POST['title4']."',
'".$_POST['docformat_editable_id']."',
'".$_POST['docformat_noneditable_id']."',
'".$_POST['file_editable']."' ,
'".$_POST['doccat_id']."' ,
'".$_POST['docsize_id']."' ,
'".$_POST['docphase_id']."' ,
'".$_POST['file_noneditable']."')";
**更新2 **
我现在尝试使用两种按钮,但IE9中的结果保持不变:array(0) { }
而IE8和IE10至少给我
array(16){[“company_id”] =&gt; string(0)“”[“docnrsupplier”] =&gt; string(0)“”[“doccat_id”] =&gt; string(0)“”[“docnrlab”] =&gt; string(0)“”[“docsize_id”] =&gt; string(0)“”[“docnrclient”] =&gt; string(0)“”[“revi”] =&gt; string(1)“A”[“title1”] =&gt; string(0)“”[“docphase_id”] =&gt; string(0)“”[“title2”] =&gt; string(0)“”[“title3”] =&gt; string(0)“”[“title4”] =&gt; string(0)“”[“docformat_editable_id”] =&gt; string(0)“”[“file_editable”] =&gt; string(0)“”[“docformat_noneditable_id”] =&gt; string(0)“”[“file_noneditable”] =&gt; string(0)“”}`
<input class="button ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" id="mySubmit" type="submit" value="Submit" />
<div class="button ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" id="submitNewDoc" role="button" aria-disabled="false">
<span class="ui-button-text">Submit</span>
</div>
我确定我犯了一个错误,我找不到它:-( 在同一页面上有两个表格是否有问题?他们有自己的名字和身份证,没有双重的字段名。
答案 0 :(得分:1)
我想我已经找到了,虽然我对它很不满意:
表单字段嵌套在表中:
<form><table><tr><td><input...>
正如您在原始问题中看到的那样。
在进一步搜索SO后,我读到了一个关于jquery手风琴中表格内表格的问题。只是为了尝试我删除了有关该表的所有html,所以现在我有<accordion> -> <form> -> <input ....>
这很有效!因此,出于某种原因,我所做的嵌套必定会在IE9中遇到错误。
它看起来很糟糕,但它确实有效。无论如何它都是供内部使用的,所以它必须这样做。
我希望这也可以帮助那些遇到这个问题的人。