我遇到了如何实现/构建表单的问题。这是概述。
表格的第一步是填写“责任中心”。但是,用户可以添加多个责任中心。那么下一步就是 - 每个负责中心都应该有一个或多个“账户代码”。在表单的最后,在提交之前,所有数据都应该是可编辑的。
结果应该是这样的:
|**responsibility center**||**account codes**|
| center 1 || account code 1 |
| || account code 2 |
| center 2 || account code 1 |
etc..
我只需要了解如何构建/实现表单。
编辑1
这就是我尝试过的
第一步
第二步
结果
编辑2 我已经知道如何添加多行(如第二步),我可以在第一步到第一步实现。所以这是我的问题:
答案 0 :(得分:2)
不幸的是,在您发布应用的图片之前,我开始写这个答案。这些想法仍然具有相关性,但我会更多地根据你的工作量身定制我的榜样。对不起。
我会使用jQuery和AJAX来完成工作。 jQuery用于处理向DOM插入新元素以及字段验证; AJAX验证RC之间没有重复的帐户代码,或者你有什么。就个人而言,我也会使用AJAX来处理表单提交,而不是使用更传统的<form action= method=>
,因为它可以更好地控制进程,并且在我准备好之前不会将用户带到另一个页面。但是,最简单的描述<form>
示例,您可以先构建它,然后根据需要将其更改为使用AJAX。
这里的例子是假设一个空白的平板(即我在写这个之前没有看过你的示例应用程序):
首先,在你的jQuery / javascript中,你需要一个计数器来跟踪每个添加的RC。它可以位于HTML / PHP的<head>
标记中,也可以存储在单独的文件中。如果你点击我的名字并查看我给出的其他AJAX答案,你会看到许多有用的例子。
<script type="text/javascript">
$(document).ready(function() {
var ctr = 0;
});
</script>
在您的HTML中,您需要一个DIV,您将在其中附加每个RC DIV。您还需要一个链接/按钮/任何用户来启动新RC的创建。这将是一个简短的表格,甚至只是[RC标题]和[帐户代码],带有链接/按钮/无论是创建另一个[帐户代码]字段和[完成/提交]按钮。
HTML:
<div id="container">
<form action="yourprocessorfile.php" method="POST" id="myform"></form>
</div>
<input type="button" id="mybutt" value="Add New RC" />
JAVASCRIPT / jQuery(再次,在上面的(document).ready()部分中):
$('#mybutt').click(function() {
ctr++;
var str = 'RC TITLE:<br><input id="RC-"'+ctr+' class="RC" type="text"><br>ACCOUNT CODE<br><input id="AC-"'+ctr+' class="AC" type="text"><br>';
$('#myform').append(str);
});
当用户按[完成]时,再次使用jQuery检查每个[帐户代码]字段是否已完成。
$('#done').click(function() {
$('.RC').each(function() {
if ($(this).val() == '') {
alert('Please complete all fields');
$(this).focus();
return false;
}
});
$('.AC').each(function() {
if ($(this).val() == '') {
alert('Please complete all fields');
$(this).focus();
return false;
}
});
$('#myform').submit();
});
编辑2 /问题1:
您可以通过以下方式添加链接到RC的新帐户代码:
.split()
拆分数字部分(分配给var)在创建AC时使用该号码
$('。add_AC')。click(function(){//注意我使用了一个类,所以你可以为每个RC都有一个链接 var num = $(this).parent()。attr('id')。split(' - ')[1]; var str =''; });
在上面的例子中:
==&GT;因为我使用了一个类,只要单击该类的任何元素,它就会触发。当然,在创建按钮时,必须将该类添加到按钮def,如:
<input type="button" class="add_AC" value="Add Account Code" />
num ==&gt;使用链式jQuery方法,一个接一个地获取RC id的数字部分。
$(this)==&gt;无论[添加帐户代码]按钮/链接/点击了什么。
.parent()==&gt;这可能适用于您的情况,也可能不正确。这是我们遍历DOM以找到RC元素的ID代码的部分,它看起来像这样:RC-3
。您需要尝试:
.parent()。亲本() 。兄弟() .parent()。兄弟() .closest() .prev()或.next()
使用这些选择器进行游戏,打开Dev Tools窗口。只需要几分钟就可以找到你的RC元素 - 或者提出另一个问题并发布你的HTML。
.attr('id')==&gt;显然,在我们的案例RC-3
.split(' - ')[1] ==&gt;在一侧(零)创建一个RC
的数组,在另一侧创建3
的数组(1)
希望这一切能让您了解从哪里开始......