Skip to main content
JMFreeman
Inspiring
January 14, 2020
解決済み

SyntaxError: missing ) after argument list

  • January 14, 2020
  • 返信数 4.
  • 2408 ビュー

I'm getting the above error when I try to hit "okay" after editing a script in a field. The offending lines are:

//set properties of check box
togBot.strokeColor = color.black; togBot.fillColor = color.white;
togBot.setAction("MouseUp", "this.getField("botPh" + spwn).display = (event.target.value=="Off") ? display.hidden : display.visible");

 The parentheses match up, and the code matches a very similar (working) one elsewhere in the script. What is going wrong? Thanks!

このトピックへの返信は締め切られました。
解決に役立った回答 JMFreeman

I'd hoped the open paren would help...

 

spwn is going to be replaced... I tried it without that there anyway. 

 

A backslash before my internal quotes is what I needed. Thanks for the direction.

返信数 4

JMFreeman
JMFreeman作成者
Inspiring
January 14, 2020

One a related note, what's a good practice for longer, multiline codes inside my setAction method? Is there a syntax that allows me to have multiple things on their own lines within the method? I want the spawn checkbox to have the following script:

var num = event.target.name.match(/\d/g).join('');
this.getField("botPh" + num).display = (event.target.value=="Off") ? display.hidden : display.visible;
Bernd Alheit
Community Expert
Community Expert
January 14, 2020

For large codes I use document-level functions.

JMFreeman
JMFreeman作成者
Inspiring
January 14, 2020

Thanks! I found this tip and another, which I'm using. I'm just creating a string (with hella regex) with the code, then passing that as the argument for setAction. I appreciate the help!

JMFreeman
JMFreeman作成者解決!
Inspiring
January 14, 2020

I'd hoped the open paren would help...

 

spwn is going to be replaced... I tried it without that there anyway. 

 

A backslash before my internal quotes is what I needed. Thanks for the direction.

Bernd Alheit
Community Expert
Community Expert
January 14, 2020

Where does you set spwn?

Legend
January 14, 2020

You’re trying to use quotes in your action script. But the quotes END the string. 

"this.getField(" is the complete string and everything else is an error. How could it know you meant something different? Look up “Javascript string escapes”.