Javascript 故障破坏了用于选择输入的 POST 函数


Javascript glitch breaking a POST function for select input

感谢您花点时间看我的问题。

我需要创建一个分三个阶段完成的数据收集方法。最终数据将存储在MySQL数据库中。1st - 个人详细信息(这部分很容易并且已经完成)2nd - 费用明细(这部分是我头疼的部分)3rd - 收据扫描上传(这部分也相对容易,也已经完成)。

使用中的技术 - html,php5,javascript,mysql,运行在标准的LAMP堆栈上。个人限制 - 我。php不是很流利,几年没有用过了。

第一个屏幕完美运行。第 3 个屏幕运行良好,但需要完成才能在完成该过程后向用户发送电子邮件。这不是问题,因为我以前做过。

第二个屏幕有两个表,每个表都有少量输入字段。这些表中的第一个是使用 JavaScript 克隆表行,以便用户可以根据需要传播任意数量的这些行。每行由以下字段组成:

<input class="mus3" type="text" name="reg_travel_date1" id="reg_travel_date1" maxlength="20"><br><input type="button" name="button2" id="button2" value="+1 row" class="button" style="width: 80px; margin-top: 18px;">
<textarea class="mus1" name="reg_travel_from1" id="reg_travel_from1" cols="10" rows="5"></textarea>
<textarea class="mus2" name="reg_travel_to1" id="reg_travel_to1" cols="10" rows="5"></textarea>
<input class="mus4" type="text" name="reg_kms_travelled1" id="reg_kms_travelled1" maxlength="10" onkeydown="validateNumber(event);">
    <select class="select" style="width: 120px;" name="exp_type_car_travel1">
     <option selected>Type...</option>
     <option value="Seminar">Seminar</option>
     <option value="Rural Travel">Rural Travel</option>
     <option value="Conference">Conference</option>
     <option value="Exam">Exam</option>
     <option value="Other">Other</option>
    </select>
<input type="text" name="reg_claimable_kms1" id="reg_claimable_kms1" maxlength="10" class="mus5" onkeydown="validateNumber(event);">

为了查看更多详细信息,我已经发布了以下链接中使用的所有代码(此处没有足够的空间)。

我不得不在我的链接代码上加倍,因为我只被允许发布两个链接,它看起来。

索引.php后跟 C.CLAIM2.php : http://pastebin.com/wufh4Q47css_file.css后跟C.CLAIM.php(完整且有效):http://pastebin.com/iGnEsTC3

jquery.min.js 文件是版本 jQuery v2.0.3

我已经粘贴了第一个屏幕的代码,该代码工作正常,以指示第二个屏幕的预期行为。

问题:我正在尝试使 JS 克隆函数中的选择字段像文本和文本框字段一样递增其名称/ID(或出于某种原因在此特定版本之前)。它总是克隆自己与起始行完全相同的名称,这在生成的 post 函数中引起了严重的问题。

此外,出于某种可能相关也可能不相关的原因,select 字段始终发布一个空白值,无论有多少克隆行。我不知道为什么,也不知道如何解决这个问题。

谁能帮忙?我根本不精通JS,这个项目中使用的JS是由一个朋友为我编写的,他也想知道为什么它没有按预期工作。

谢谢。:)

好的,现在忽略这个问题 - 情况已经完全解决并且工作正常。JQuery 中似乎有一个错误被选为"不修复",因为这样做的开销太高了。此问题会导致选项为空,其"name="something"值被删除。我们现在有一个解决方法,该功能现在执行得很好,这要归功于我的朋友。非常感谢水晶!