是的,我已经尝试创建此表单大约 3 天了。我一切正常,但是当需要验证以查看是否填写了输入时,一切都失控了。
表单需要有一个由 mySQL 值填充的下拉框。旁边也会有一个文本框供输入。文本框需要通过 javascript 验证以检查输入是否在文本框中。然后,一个用于删除行的按钮。
添加按钮应该在所有这些之上,并且只需添加另一行相同的输入。
我使用了 innerHTML 语句并使用计数器将所有内容传递到 PHP 数组中,但是删除按钮和验证变得太复杂了。
我在 Web 应用程序的其他部分使用 jQuery,所以这是一个选项。
任何方向或示例代码都会有很大帮助。
谢谢
能够使用此代码
<script type="text/javascript">
$(document).ready(function() {
if(typeof intId==='undefined')
{
$(".add").attr("disabled", "true");
}
$("#addButton").click(function() {
var intId = $("#prodpart div").length + 1;
var fieldWrapper = $("<div class=\"fieldwrapper\" id=\"partfield" + intId + "\"/>");
var partlabel = $("<label>Part #" + intId + ":</label> ");
var part = $("<select name=\"part[" + intId + "]\"><?php echo $option2; ?></select>");
var partqtylabel = $("<label>Part QTY #" + intId + ": </label> ");
var partqty = $("<input type=\"text\" class=\"required\" onblur=\"enable()\" value=\"\" size=\"5\" id=\"partqty" + intId + "\" name=\"partqty[" + intId + "]\" class=\"fieldname\" />");
var parttimelabel = $("<label> Run Time #" + intId + ":</label> ");
var parttime = $("<input type=\"text\" size=\"5\" value=\"NOT REQUIRED\" name=\"runparttime[" + intId + "]\" />");
var removeButton = $("<input type=\"button\" class=\"remove\" value=\"Del\" />");
removeButton.click(function() {
$(this).parent().remove();
});
fieldWrapper.append(partlabel);
fieldWrapper.append(part);
fieldWrapper.append(partqtylabel);
fieldWrapper.append(partqty);
fieldWrapper.append(parttimelabel);
fieldWrapper.append(parttime);
fieldWrapper.append(removeButton);
$("#prodpart").append(fieldWrapper);
});
});
function disable(){
$(".add").attr("disabled", "true");
$(".required").blur(function(){
if ($(this).val() != initVal && $(this).val() != "") {
$(".add").removeAttr("disabled");
} else {
$(".add").attr("disabled", "true");
}
});
};
function enable(){
$(".add").removeAttr("disabled");
};
这是上面用于写入行、删除和验证的 javascript。
<input type="button" value="Add Prod Part" class="add" onclick="disable()" id="addButton" />
我的按钮之一。在所需框中输入文本之前,按钮被禁用。输入文本后,按钮启用,您可以添加另一行。这仍然有点错误,但可以很好地满足我的需要。