我遇到一个问题,其中input
字段缺少其name
属性。我无法使用set_values()
函数设置此字段的值,该函数特别需要name
来分配值。这是功能代码:
function (form, ...)
{
new_values <- list(...)
no_match <- setdiff(names(new_values), names(form$fields))
if (length(no_match) > 0) {
stop("Unknown field names: ", paste(no_match, collapse = ", "),
call. = FALSE)
}
for (field in names(new_values)) {
type <- form$fields[[field]]$type %||% "non-input"
if (type == "hidden") {
warning("Setting value of hidden field '", field,
"'.", call. = FALSE)
}
else if (type == "submit") {
stop("Can't change value of submit input '", field,
"'.", call. = FALSE)
}
form$fields[[field]]$value <- new_values[[field]]
}
form
}
我想用接受输入名称,id或其他CSS选择器的函数覆盖set_values()
。
有什么想法吗?
答案 0 :(得分:0)
问题:是否可以使用set_values()
函数设置该字段的值而无需引用name属性?
答案:否。查看源代码。任何没有名称的元素都不能更改set_values()
函数返回的对象。
如果...
参数中的元素没有名称(或者您要查找的元素没有名称,set_values()
则无能为力。没有名称的情况下,它将返回其form
参数不变,请参见源代码中的for
循环,for (field in names(new_values))
new_values
是{{1}的列表}参数。如果该列表为空,或者...
为空,则循环立即退出,并且该函数返回names(...)
不变。
form