4

我有一个几页长的表格。为了遍历表单,我所做的就是显示和隐藏容器 div。最后一页是提交前的确认页面。它获取表单的内容并将其布局,以便用户可以看到他/她刚刚填写的内容。如果他们单击其中一个,它将带他们回到他们所在的页面(#nav1~3),专注于该字段,并让他们在需要时输入一个新值。

使用 jQuery,我为每个字段/radio/check/select/textarea/whatever 创建了变量。如果我的方法看起来很傻,请告诉我,但基本上,这个方法已经可以了,但我正在尝试扩展它,我不知道如何,因为我真的不知道我在做什么。想法?

  var field1 = '<a href="#"
    onclick="$(\'#nav1\').click();$(\'input#field-1\').focus();"
    title="点击编辑">' +
    $('input#field-1').val() + '</a>';
    $('#field1-confirm').html(field1);

  var field2 = '<a href="#"
    onclick="$(\'#nav1\').click();$(\'input#field-2\').focus();"
    title="点击编辑">' +
    $('input#field-2').val() + '</a>';
    $('#field2-confirm').html(field2);

以此类推,有field3、4、5~25等。

如果你能帮助用非程序员的术语解释,我会永远爱你。

4

2 回答 2

3

我将从介绍数组开始:对于初学者来说,这个看起来相当不错。

围绕数组和循环开始,你会得到很好的服务。

于 2008-10-31T20:28:09.637 回答
2

无需太复杂,您可以创建一个处理重复内容的函数。我没有测试过这个,但你会明白的:

function valField(fieldName,navName) {
    var output = '<a href="javascript://" onclick="$(\''+navName+'\').click();$(\'input#'+fieldName+'\').focus();" title="Click to edit">' + $('input#'+fieldName).val() + '</a>';
 $('#'+fieldName+'-confirm').html(output);
}

valField("field-1","nav1")
valField("field-2","nav1")
valField("field-293","nav3")

当您在 Javascript 方面变得更好时,您可能会创建一个循环来处理所有这些“valField()”调用,或者您会编写一些东西来检查您的表单,找到那里的内容并生成事件处理程序以自动将它们粘合在一起。这当然不是“n00bware”,但它给了你一些思考。

也不要在输出中使用它:

$(\''+navName+'\').click();

您可以用导航选项卡的 onclick 中实际存在的任何代码替换它。

有几十种方法可以解决这个问题。一步一步来。

于 2008-10-31T20:35:45.270 回答