javascript,一点编码帮助,无法解决这个问题

时间:2009-11-10 11:31:50

标签: javascript

下面的所有内容都可以正常工作,除了表单没有提交...似乎问题出在'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(); }}

它不会提交,但它会被替换,所有......请帮助!

4 个答案:

答案 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. 

同时阅读

Javascript anonymous functions

答案 1 :(得分:1)

怎么样:

x.onchange = function(){
               pic_form_function(form, 1);
             };

因为我从不相信用字符串分配事件。

答案 2 :(得分:0)

在宣读之前,您错过了关键字 function

function pic_form_function(formName, nr){ if (nr==1){formName.submit(); }}

点击此处查看工作示例

http://jsbin.com/uvehe

答案 3 :(得分:0)

尝试

x.onchange="pic_form_function(document.forms['pic_form'], 1);";