如何从动态表单输入中调用特定元素?

时间:2011-08-02 03:34:31

标签: javascript element dynamic getelementbyid dashcode

我有一个表单输入,我用于在dashcode中列表。我正在尝试从列表中指定一个特定项目,以便我可以使用下面的代码,但我不知道如何。

function fadeout(event)
{
// Values you provide
var itemToFadeOut = document.getElementById("text2");   // replace with name of element to fade

// Fading code
var fadeHandler = function(a, c, s, f){ itemToFadeOut.style.opacity = c; };
new AppleAnimator(8500, 13, 1.0, 0.0, fadeHandler).start();}

当我运行它时,它说itemToFadeOut为null我理解,因为该元素没有Id,它只是一个类。如何从动态列表中将特定元素作为id?

2 个答案:

答案 0 :(得分:0)

您不提供列表的任何详细信息或您希望如何访问它,因此建议只能是一般性的。

如果您可以访问表单并且控件具有名称,则可以获得对表单控件的引用。如果名称是有效的标识符:

var control = form.elements.elementName;

var control = form.elementName;

否则你可以使用:

var control = form.elements[elementName];

var control = form[elementName];

如果您有多个具有相同名称的名称,则可以使用数字索引:

var control = form[elementName][index];

var control = form.elements[elementName][index];

或者,如果你只知道它是哪一个,你可以通过索引得到它:

var control = form.elements[index];

var control = form[index];

如果要为元素指定一个id(或更改其当前ID),只需指定一个值:

element.id = 'whatever';

有没有帮助?

答案 1 :(得分:0)

您可以使用以下语法定位特定的行元素:

rows[i].object.templateElements.<NAME_OF_THE_ELEMENTS_CLASS>.style

你在Dashcode GUI中给出它的名称(但是留下_template附录),我是特定行的索引(你在prepareRows函数中得到索引)。

示例:

rows[0].object.templateElements.text1.style

其中text1的自动生成的css类名是text1_template。

希望它有所帮助。