Millisecond Forums

Loading coloured text stimuli from .html file

https://forums.millisecond.com/Topic34093.aspx

By NHolmes14 - 3/21/2022

Hello, 

I'm currently making a version of a Stroop task that present a single coloured letter on each trial instead of a coloured word. In this task, I need to change the letters and their colours for each participant. Yesterday I was successfully able to load the .html file using the <include> attribute as listed in this post: https://forums.millisecond.com/Topic19045.aspx#19046

However I made some changes to the script and now I can't seem to get it to work anymore.

Here is my script,

<parameters>
/keycolour1 = "A"
/keycolour2 = "S"
/keycolour3 = "K"
/keycolour4 = "L"
</parameters>

<include>
/ file = "testsyncon.html"
</include>

<block myblock>
/ trials = [1 = mytrial1; 2 = mytrial1; 3 = mytrial3; 4 = mytrial4]
</block>

<trial mytrial1>
/ stimulusframes = [1 = mytext1]
/ validresponse = ("A", "S", "K", "L")
</trial>

<trial mytrial2>
/ stimulusframes = [1 = mytext2]
/ validresponse = ("A", "S", "K", "L")
</trial>

<trial mytrial3>
/ stimulusframes = [1 = mytext3]
/ validresponse = ("A", "S", "K", "L")
</trial>

<trial mytrial4>
/ stimulusframes = [1 = mytext4]
/ validresponse = ("A", "S", "K", "L")
</trial>

<text mytext1>
/ items = myitems1
/ select = sequence
</text>

<text mytext2>
/ items = myitems2
/ select = sequence
</text>

<text mytext3>
/ items = myitems3
/ select = sequence
</text>

<text mytext4>
/ items = myitems4
/ select = sequence
</text>

<expt>
/ blocks = [
    1 = myblock;
]
</expt>

And here is what is in my .html file named testsyncon.html,

<item myitems1>
/1 = "A"
</item>

<item myitems2>
/1 = "B"
</item>

<text myitems3>
/ items = ("A")
/ txcolor = (255, 33, 103)
</text>

<text myitems4>
/ items = ("S")
/ txcolor = (33, 131, 33)
</text>

The problem that comes up when I try to run the script is
Message: "Could not locate item 'myitems3';
Element: text.mytext3
Attribute: items
Message: "Could not locate item 'myitems4';
Element: text.mytext4
Attribute: items

It can locate the <item myitems1> from .html file fine, but it seems when I change it to a text element (like myitems3 and 4) so I can specify the colour, it gets unhappy. I can't remember for the life of me what I changed in the script so that it could read the text, and I would really appreciate it if someone could help out with what I need to change in the script. I definitely know it's possible to get it to work but I can't seem to recover the original successful script. (I don't actually need the <item> stimuli in the .html, this was just to show that it works for <item> but not <text>).

Thanks very much!

By Dave - 3/21/2022

NHolmes14 - 3/22/2022
Hello, 

I'm currently making a version of a Stroop task that present a single coloured letter on each trial instead of a coloured word. In this task, I need to change the letters and their colours for each participant. Yesterday I was successfully able to load the .html file using the <include> attribute as listed in this post: https://forums.millisecond.com/Topic19045.aspx#19046

However I made some changes to the script and now I can't seem to get it to work anymore.

Here is my script,

<parameters>
/keycolour1 = "A"
/keycolour2 = "S"
/keycolour3 = "K"
/keycolour4 = "L"
</parameters>

<include>
/ file = "testsyncon.html"
</include>

<block myblock>
/ trials = [1 = mytrial1; 2 = mytrial1; 3 = mytrial3; 4 = mytrial4]
</block>

<trial mytrial1>
/ stimulusframes = [1 = mytext1]
/ validresponse = ("A", "S", "K", "L")
</trial>

<trial mytrial2>
/ stimulusframes = [1 = mytext2]
/ validresponse = ("A", "S", "K", "L")
</trial>

<trial mytrial3>
/ stimulusframes = [1 = mytext3]
/ validresponse = ("A", "S", "K", "L")
</trial>

<trial mytrial4>
/ stimulusframes = [1 = mytext4]
/ validresponse = ("A", "S", "K", "L")
</trial>

<text mytext1>
/ items = myitems1
/ select = sequence
</text>

<text mytext2>
/ items = myitems2
/ select = sequence
</text>

<text mytext3>
/ items = myitems3
/ select = sequence
</text>

<text mytext4>
/ items = myitems4
/ select = sequence
</text>

<expt>
/ blocks = [
    1 = myblock;
]
</expt>

And here is what is in my .html file named testsyncon.html,

<item myitems1>
/1 = "A"
</item>

<item myitems2>
/1 = "B"
</item>

<text myitems3>
/ items = ("A")
/ txcolor = (255, 33, 103)
</text>

<text myitems4>
/ items = ("S")
/ txcolor = (33, 131, 33)
</text>

The problem that comes up when I try to run the script is
Message: "Could not locate item 'myitems3';
Element: text.mytext3
Attribute: items
Message: "Could not locate item 'myitems4';
Element: text.mytext4
Attribute: items

It can locate the <item myitems1> from .html file fine, but it seems when I change it to a text element (like myitems3 and 4) so I can specify the colour, it gets unhappy. I can't remember for the life of me what I changed in the script so that it could read the text, and I would really appreciate it if someone could help out with what I need to change in the script. I definitely know it's possible to get it to work but I can't seem to recover the original successful script. (I don't actually need the <item> stimuli in the .html, this was just to show that it works for <item> but not <text>).

Thanks very much!


<include> can't be used that way. It's there to import Inqusiit syntax, not HTML code. Any Inquisit syntax you wish to load per <include> belongs in an *.iqx or .txt file.
By NHolmes14 - 3/21/2022

Dave - 3/22/2022
NHolmes14 - 3/22/2022
Hello, 

I'm currently making a version of a Stroop task that present a single coloured letter on each trial instead of a coloured word. In this task, I need to change the letters and their colours for each participant. Yesterday I was successfully able to load the .html file using the <include> attribute as listed in this post: https://forums.millisecond.com/Topic19045.aspx#19046

However I made some changes to the script and now I can't seem to get it to work anymore.

Here is my script,

<parameters>
/keycolour1 = "A"
/keycolour2 = "S"
/keycolour3 = "K"
/keycolour4 = "L"
</parameters>

<include>
/ file = "testsyncon.html"
</include>

<block myblock>
/ trials = [1 = mytrial1; 2 = mytrial1; 3 = mytrial3; 4 = mytrial4]
</block>

<trial mytrial1>
/ stimulusframes = [1 = mytext1]
/ validresponse = ("A", "S", "K", "L")
</trial>

<trial mytrial2>
/ stimulusframes = [1 = mytext2]
/ validresponse = ("A", "S", "K", "L")
</trial>

<trial mytrial3>
/ stimulusframes = [1 = mytext3]
/ validresponse = ("A", "S", "K", "L")
</trial>

<trial mytrial4>
/ stimulusframes = [1 = mytext4]
/ validresponse = ("A", "S", "K", "L")
</trial>

<text mytext1>
/ items = myitems1
/ select = sequence
</text>

<text mytext2>
/ items = myitems2
/ select = sequence
</text>

<text mytext3>
/ items = myitems3
/ select = sequence
</text>

<text mytext4>
/ items = myitems4
/ select = sequence
</text>

<expt>
/ blocks = [
    1 = myblock;
]
</expt>

And here is what is in my .html file named testsyncon.html,

<item myitems1>
/1 = "A"
</item>

<item myitems2>
/1 = "B"
</item>

<text myitems3>
/ items = ("A")
/ txcolor = (255, 33, 103)
</text>

<text myitems4>
/ items = ("S")
/ txcolor = (33, 131, 33)
</text>

The problem that comes up when I try to run the script is
Message: "Could not locate item 'myitems3';
Element: text.mytext3
Attribute: items
Message: "Could not locate item 'myitems4';
Element: text.mytext4
Attribute: items

It can locate the <item myitems1> from .html file fine, but it seems when I change it to a text element (like myitems3 and 4) so I can specify the colour, it gets unhappy. I can't remember for the life of me what I changed in the script so that it could read the text, and I would really appreciate it if someone could help out with what I need to change in the script. I definitely know it's possible to get it to work but I can't seem to recover the original successful script. (I don't actually need the <item> stimuli in the .html, this was just to show that it works for <item> but not <text>).

Thanks very much!


<include> can't be used that way. It's there to import Inqusiit syntax, not HTML code. Any Inquisit syntax you wish to load per <include> belongs in an *.iqx or .txt file.

I've changed the .html to .txt and updated it accordingly in the script and it's still not working.
By Dave - 3/21/2022

Dave - 3/22/2022
NHolmes14 - 3/22/2022
Hello, 

I'm currently making a version of a Stroop task that present a single coloured letter on each trial instead of a coloured word. In this task, I need to change the letters and their colours for each participant. Yesterday I was successfully able to load the .html file using the <include> attribute as listed in this post: https://forums.millisecond.com/Topic19045.aspx#19046

However I made some changes to the script and now I can't seem to get it to work anymore.

Here is my script,

<parameters>
/keycolour1 = "A"
/keycolour2 = "S"
/keycolour3 = "K"
/keycolour4 = "L"
</parameters>

<include>
/ file = "testsyncon.html"
</include>

<block myblock>
/ trials = [1 = mytrial1; 2 = mytrial1; 3 = mytrial3; 4 = mytrial4]
</block>

<trial mytrial1>
/ stimulusframes = [1 = mytext1]
/ validresponse = ("A", "S", "K", "L")
</trial>

<trial mytrial2>
/ stimulusframes = [1 = mytext2]
/ validresponse = ("A", "S", "K", "L")
</trial>

<trial mytrial3>
/ stimulusframes = [1 = mytext3]
/ validresponse = ("A", "S", "K", "L")
</trial>

<trial mytrial4>
/ stimulusframes = [1 = mytext4]
/ validresponse = ("A", "S", "K", "L")
</trial>

<text mytext1>
/ items = myitems1
/ select = sequence
</text>

<text mytext2>
/ items = myitems2
/ select = sequence
</text>

<text mytext3>
/ items = myitems3
/ select = sequence
</text>

<text mytext4>
/ items = myitems4
/ select = sequence
</text>

<expt>
/ blocks = [
    1 = myblock;
]
</expt>

And here is what is in my .html file named testsyncon.html,

<item myitems1>
/1 = "A"
</item>

<item myitems2>
/1 = "B"
</item>

<text myitems3>
/ items = ("A")
/ txcolor = (255, 33, 103)
</text>

<text myitems4>
/ items = ("S")
/ txcolor = (33, 131, 33)
</text>

The problem that comes up when I try to run the script is
Message: "Could not locate item 'myitems3';
Element: text.mytext3
Attribute: items
Message: "Could not locate item 'myitems4';
Element: text.mytext4
Attribute: items

It can locate the <item myitems1> from .html file fine, but it seems when I change it to a text element (like myitems3 and 4) so I can specify the colour, it gets unhappy. I can't remember for the life of me what I changed in the script so that it could read the text, and I would really appreciate it if someone could help out with what I need to change in the script. I definitely know it's possible to get it to work but I can't seem to recover the original successful script. (I don't actually need the <item> stimuli in the .html, this was just to show that it works for <item> but not <text>).

Thanks very much!


<include> can't be used that way. It's there to import Inqusiit syntax, not HTML code. Any Inquisit syntax you wish to load per <include> belongs in an *.iqx or .txt file.

Also, note that your syntax here is partly wrong. Your main script references item elements, not text elements.



There is no element called <item myitems3> in the code you're trying to include, and neither is there an <item> element called "myitems4":

<item myitems1>
/1 = "A"
</item>

<item myitems2>
/1 = "B"
</item>

<text myitems3>
/ items = ("A")
/ txcolor = (255, 33, 103)
</text>

<text myitems4>
/ items = ("S")
/ txcolor = (33, 131, 33)
</text>

You have a <text> element called "myitems3" and a <text> element called myitems4, which of course are entirely different things.
By Dave - 3/21/2022

NHolmes14 - 3/22/2022
Dave - 3/22/2022
NHolmes14 - 3/22/2022
Hello, 

I'm currently making a version of a Stroop task that present a single coloured letter on each trial instead of a coloured word. In this task, I need to change the letters and their colours for each participant. Yesterday I was successfully able to load the .html file using the <include> attribute as listed in this post: https://forums.millisecond.com/Topic19045.aspx#19046

However I made some changes to the script and now I can't seem to get it to work anymore.

Here is my script,

<parameters>
/keycolour1 = "A"
/keycolour2 = "S"
/keycolour3 = "K"
/keycolour4 = "L"
</parameters>

<include>
/ file = "testsyncon.html"
</include>

<block myblock>
/ trials = [1 = mytrial1; 2 = mytrial1; 3 = mytrial3; 4 = mytrial4]
</block>

<trial mytrial1>
/ stimulusframes = [1 = mytext1]
/ validresponse = ("A", "S", "K", "L")
</trial>

<trial mytrial2>
/ stimulusframes = [1 = mytext2]
/ validresponse = ("A", "S", "K", "L")
</trial>

<trial mytrial3>
/ stimulusframes = [1 = mytext3]
/ validresponse = ("A", "S", "K", "L")
</trial>

<trial mytrial4>
/ stimulusframes = [1 = mytext4]
/ validresponse = ("A", "S", "K", "L")
</trial>

<text mytext1>
/ items = myitems1
/ select = sequence
</text>

<text mytext2>
/ items = myitems2
/ select = sequence
</text>

<text mytext3>
/ items = myitems3
/ select = sequence
</text>

<text mytext4>
/ items = myitems4
/ select = sequence
</text>

<expt>
/ blocks = [
    1 = myblock;
]
</expt>

And here is what is in my .html file named testsyncon.html,

<item myitems1>
/1 = "A"
</item>

<item myitems2>
/1 = "B"
</item>

<text myitems3>
/ items = ("A")
/ txcolor = (255, 33, 103)
</text>

<text myitems4>
/ items = ("S")
/ txcolor = (33, 131, 33)
</text>

The problem that comes up when I try to run the script is
Message: "Could not locate item 'myitems3';
Element: text.mytext3
Attribute: items
Message: "Could not locate item 'myitems4';
Element: text.mytext4
Attribute: items

It can locate the <item myitems1> from .html file fine, but it seems when I change it to a text element (like myitems3 and 4) so I can specify the colour, it gets unhappy. I can't remember for the life of me what I changed in the script so that it could read the text, and I would really appreciate it if someone could help out with what I need to change in the script. I definitely know it's possible to get it to work but I can't seem to recover the original successful script. (I don't actually need the <item> stimuli in the .html, this was just to show that it works for <item> but not <text>).

Thanks very much!


<include> can't be used that way. It's there to import Inqusiit syntax, not HTML code. Any Inquisit syntax you wish to load per <include> belongs in an *.iqx or .txt file.

I've changed the .html to .txt and updated it accordingly in the script and it's still not working.

See https://forums.millisecond.com/FindPost34096.aspx where I've explained your syntax mistakes.
By NHolmes14 - 3/21/2022

Dave - 3/22/2022
NHolmes14 - 3/22/2022
Dave - 3/22/2022
NHolmes14 - 3/22/2022
Hello, 

I'm currently making a version of a Stroop task that present a single coloured letter on each trial instead of a coloured word. In this task, I need to change the letters and their colours for each participant. Yesterday I was successfully able to load the .html file using the <include> attribute as listed in this post: https://forums.millisecond.com/Topic19045.aspx#19046

However I made some changes to the script and now I can't seem to get it to work anymore.

Here is my script,

<parameters>
/keycolour1 = "A"
/keycolour2 = "S"
/keycolour3 = "K"
/keycolour4 = "L"
</parameters>

<include>
/ file = "testsyncon.html"
</include>

<block myblock>
/ trials = [1 = mytrial1; 2 = mytrial1; 3 = mytrial3; 4 = mytrial4]
</block>

<trial mytrial1>
/ stimulusframes = [1 = mytext1]
/ validresponse = ("A", "S", "K", "L")
</trial>

<trial mytrial2>
/ stimulusframes = [1 = mytext2]
/ validresponse = ("A", "S", "K", "L")
</trial>

<trial mytrial3>
/ stimulusframes = [1 = mytext3]
/ validresponse = ("A", "S", "K", "L")
</trial>

<trial mytrial4>
/ stimulusframes = [1 = mytext4]
/ validresponse = ("A", "S", "K", "L")
</trial>

<text mytext1>
/ items = myitems1
/ select = sequence
</text>

<text mytext2>
/ items = myitems2
/ select = sequence
</text>

<text mytext3>
/ items = myitems3
/ select = sequence
</text>

<text mytext4>
/ items = myitems4
/ select = sequence
</text>

<expt>
/ blocks = [
    1 = myblock;
]
</expt>

And here is what is in my .html file named testsyncon.html,

<item myitems1>
/1 = "A"
</item>

<item myitems2>
/1 = "B"
</item>

<text myitems3>
/ items = ("A")
/ txcolor = (255, 33, 103)
</text>

<text myitems4>
/ items = ("S")
/ txcolor = (33, 131, 33)
</text>

The problem that comes up when I try to run the script is
Message: "Could not locate item 'myitems3';
Element: text.mytext3
Attribute: items
Message: "Could not locate item 'myitems4';
Element: text.mytext4
Attribute: items

It can locate the <item myitems1> from .html file fine, but it seems when I change it to a text element (like myitems3 and 4) so I can specify the colour, it gets unhappy. I can't remember for the life of me what I changed in the script so that it could read the text, and I would really appreciate it if someone could help out with what I need to change in the script. I definitely know it's possible to get it to work but I can't seem to recover the original successful script. (I don't actually need the <item> stimuli in the .html, this was just to show that it works for <item> but not <text>).

Thanks very much!


<include> can't be used that way. It's there to import Inqusiit syntax, not HTML code. Any Inquisit syntax you wish to load per <include> belongs in an *.iqx or .txt file.

I've changed the .html to .txt and updated it accordingly in the script and it's still not working.

See https://forums.millisecond.com/FindPost34096.aspx where I've explained your syntax mistakes.

Yes, I can see the problem is that the script syntax is wrong so how do I change the script to be able to include the text elements that are listed in the .txt file? 
By Dave - 3/21/2022

NHolmes14 - 3/22/2022
Dave - 3/22/2022
NHolmes14 - 3/22/2022
Dave - 3/22/2022
NHolmes14 - 3/22/2022
Hello, 

I'm currently making a version of a Stroop task that present a single coloured letter on each trial instead of a coloured word. In this task, I need to change the letters and their colours for each participant. Yesterday I was successfully able to load the .html file using the <include> attribute as listed in this post: https://forums.millisecond.com/Topic19045.aspx#19046

However I made some changes to the script and now I can't seem to get it to work anymore.

Here is my script,

<parameters>
/keycolour1 = "A"
/keycolour2 = "S"
/keycolour3 = "K"
/keycolour4 = "L"
</parameters>

<include>
/ file = "testsyncon.html"
</include>

<block myblock>
/ trials = [1 = mytrial1; 2 = mytrial1; 3 = mytrial3; 4 = mytrial4]
</block>

<trial mytrial1>
/ stimulusframes = [1 = mytext1]
/ validresponse = ("A", "S", "K", "L")
</trial>

<trial mytrial2>
/ stimulusframes = [1 = mytext2]
/ validresponse = ("A", "S", "K", "L")
</trial>

<trial mytrial3>
/ stimulusframes = [1 = mytext3]
/ validresponse = ("A", "S", "K", "L")
</trial>

<trial mytrial4>
/ stimulusframes = [1 = mytext4]
/ validresponse = ("A", "S", "K", "L")
</trial>

<text mytext1>
/ items = myitems1
/ select = sequence
</text>

<text mytext2>
/ items = myitems2
/ select = sequence
</text>

<text mytext3>
/ items = myitems3
/ select = sequence
</text>

<text mytext4>
/ items = myitems4
/ select = sequence
</text>

<expt>
/ blocks = [
    1 = myblock;
]
</expt>

And here is what is in my .html file named testsyncon.html,

<item myitems1>
/1 = "A"
</item>

<item myitems2>
/1 = "B"
</item>

<text myitems3>
/ items = ("A")
/ txcolor = (255, 33, 103)
</text>

<text myitems4>
/ items = ("S")
/ txcolor = (33, 131, 33)
</text>

The problem that comes up when I try to run the script is
Message: "Could not locate item 'myitems3';
Element: text.mytext3
Attribute: items
Message: "Could not locate item 'myitems4';
Element: text.mytext4
Attribute: items

It can locate the <item myitems1> from .html file fine, but it seems when I change it to a text element (like myitems3 and 4) so I can specify the colour, it gets unhappy. I can't remember for the life of me what I changed in the script so that it could read the text, and I would really appreciate it if someone could help out with what I need to change in the script. I definitely know it's possible to get it to work but I can't seem to recover the original successful script. (I don't actually need the <item> stimuli in the .html, this was just to show that it works for <item> but not <text>).

Thanks very much!


<include> can't be used that way. It's there to import Inqusiit syntax, not HTML code. Any Inquisit syntax you wish to load per <include> belongs in an *.iqx or .txt file.

I've changed the .html to .txt and updated it accordingly in the script and it's still not working.

See https://forums.millisecond.com/FindPost34096.aspx where I've explained your syntax mistakes.

Yes, I can see the problem is that the script syntax is wrong so how do I change the script to be able to include the text elements that are listed in the .txt file? 

I can't answer that because it's not at all clear from the script what it's supposed to do. Assuming you wish to import definitions for <text mytext3> and <text mytext4>, remove those from the main script and rename the two text elements in the to-be-included file to <text mytext3> and <text mytext4> respectively.
By NHolmes14 - 3/21/2022

That seemed to work , thanks so much Dave!