下面的所有内容都可以正常工作,除了表单没有提交...似乎问题出在'x.onchange'事件......任何提示?
var form = document.forms['pic_form'];
var x=document.createElement("input");
x.type="file";
x.name="pic_file2";
x.id="pic_file2";
x.size="35";
x.onchange="pic_form_function(form, 1);";
var z=document.getElementById("pic_file2");
z.parentNode.replaceChild(x, z);
这是一个名为:
的函数 pic_form_function(formName, nr){ if (nr==1){formName.submit(); }}
它不会提交,但它会被替换,所有......请帮助!
答案 0 :(得分:4)
尝试替换
x.onchange="pic_form_function(form, 1);";
与
x.onchange = function () { pic_form_function(form, 1); }
是
函数表达式(函数运算符)
函数表达式与函数声明
类似,并且具有相同的语法function [name]([param] [, param] [..., param]) {
statements
}
名称
The function name. Can be omitted, in which case the function becomes known
as an anonymous function.
param
The name of an argument to be passed to the function. A function can have
up to 255 arguments.
<强>语句强>
The statements which comprise the body of the function.
同时阅读
答案 1 :(得分:1)
怎么样:
x.onchange = function(){
pic_form_function(form, 1);
};
因为我从不相信用字符串分配事件。
答案 2 :(得分:0)
在宣读之前,您错过了关键字 function
function pic_form_function(formName, nr){ if (nr==1){formName.submit(); }}
点击此处查看工作示例
答案 3 :(得分:0)
尝试
x.onchange="pic_form_function(document.forms['pic_form'], 1);";