这是语法问题,我相信:
我正在尝试将其添加到我的个人网站中的输入表格中,如果我输入颜色选择器的ID号并单击提交,则页面会更改颜色。
但是,我不能在JavaScript控制台:
function onsubmitmusicform (input) {
document.body.style.backgroundColor = "'" + "#" + input + "'";
return;
}
onsubmitmusicform(" 4286f4")返回未定义。
好吧,是的,它确实返回了未定义,因为您没有给它任何返回。但是,它并没有改变背景,因为您在引号中围绕着元素,for document.body.style.backgroundcolor,您只需要传递
"#" + input
您的最终代码看起来像:
function onsubmitmusicform (input) {
document.body.style.backgroundColor = "#" + input;
return;
}
您在每一侧添加额外的'
。
您的功能应该像
function onsubmitmusicform (input) {
document.body.style.backgroundColor = "#" + input;
return;
}
问题是单引号。这样做:
document.body.style.backgroundColor = "#" + input;
您需要返回false并删除额外的引号。返回错误将停止提交
这样:
function onsubmitmusicform (input) {
document.body.style.backgroundColor = "#" + input;
return false; // kill the submit
}
<form onsubmit="return onsubmitmusicform(this.color.value)">
<input name="color" value="" />
</form>