我有一个函数调用它:myFunction(A,B,C)
我在选项中选择onchange事件选择该进程"myFunction(A,B,C)"
<select id='B' onchange="myFunction(userid,B,C)">
我有两个单选按钮也有一个处理"myFunction(A,B,C)"
<input type=radio, id="Cyes" onclick="myFunction(userid,B,Cyes)">
<input type=radio, id="Cno" onclick="myFunction(userid,B,Cno)">
我正在使用ajax动态处理事件。
我的问题是,在单选按钮的onclick事件中,我不希望“myFunction”处理参数“B”
并且在选项的onchange事件中,我不希望“myFunction”处理参数“C”
我正在使用相同的功能但我只希望为特定的onlick / onchange事件处理参数。我希望他们被忽略,我不希望任何值传递给数据库。
我不确定这是否可行,但如果确实如此,我们非常感谢你的投入。
感谢
答案 0 :(得分:0)
为什么不定义识别哪个事件发生的其他参数?或者只是定义两个独立的功能?另外一种方法是你可以在设置参数时检查你的代码并做出相应的决定,我认为在php中有类似is_set(var_name)
的东西。
EDIT。
根据你完成的问题你为什么不这么做?
function myFunc( A, B, C) {
switch( C) {
case "Cyes" : {
//Do your job here
}
case "Cno" : {
//Do your job here
}
}
}
答案 1 :(得分:0)
好的,所以你实际上是在谈论一个javascript函数,而不是一个PHP函数。无论如何,我会创建2个不同的功能。将任何常用功能拆分为第三个功能,并从其他两个功能中调用它。
答案 2 :(得分:0)
可悲的是JS不支持默认参数(我不知道这个),否则你可以将B移动到最后一个参数并像这样调用它;
&LT; onclick = MyFunction(A,C,B)onchange = Myfunction(A,C)&gt;
但如果你真的必须只有一个功能,那就有办法了:
http://www.openjs.com/articles/optional_function_arguments.php
答案 3 :(得分:0)
如果传入null或undefined,则让参数恢复为默认值,尝试这样的事情。
function myFunc (A, B, C) {
A = A || "some default value";
B = B || "some default value";
C = C || "some default value";
}
// use A and B, not C:
myFunc('foo', 'bar');
// use A and C, not B:
myFunc('foo', null, 'something');
或者你可以为参数传递一个对象而不用担心顺序:
function myFunc (argumentsObject) {
var A = argumentsObject.a || "some default value";
var B = argumentsObject.b || "some default value";
var C = argumentsObject.c || "some default value";
}
// use A and B, not C:
myFunc({a: 'foo', b: 'bar'});
// use A and C, not B:
myFunc({a: 'foo', c: 'something'});