这个javascript语法有什么问题?

时间:2012-02-22 01:02:56

标签: javascript

我想打开一个带有文本字段的新窗口,将您写入的内容复制到多个文本框中,这是我必须插入<body>的内容。当我将我的代码复制到我的perl文件中时,所有内容都会在html中包含,因为它包含在html中,好像我的标记搞砸了一样。

<span class=DefMenuText>(click on "input" to open the new window)</span>
<form name=form>
<span class=PreText>externalID:</span>
    <input type=text name=externalID size=12>
    <span class=BodyText>[<a href="javascript:fill(
        'External ID',
        'opener.document.form.external_id.value',
        '<font face=Verdana size=2>' +
    'test' );"
    >input</a>]</span>

<br>
<span class=PreText>Cage:</span>
    <input type=text name=password size=10>
    <span class=BodyText>[<a href="javascript:fill(
        'cage',
        'opener.document.form.cage.value',
        '<font face=Verdana size=2>' +
    'test1');"
    >input</a>]</span>

<br>
<span class=PreText>Born:</span>
    <input type=text name=password size=10>
   <span class=BodyText>[<a href="javascript:fill(
        'born',
        'opener.document.form.born.value',
        '<font face=Verdana size=2>' +
    'test2' );"
    >input</a>]</span>

<br>
<span class=PreText>Comment:</span>
    <input type=text name=password size=10>
    <span class=BodyText>[<a href="javascript:fill(
        'comment',
        'opener.document.form.comment.value',
        '<font face=Verdana size=2>' +
    'test3' );"
    >input</a>]</span>

    </form>

这是javascript函数,它使用$ mouse在perl脚本中使用哪个计数器变量来计算可供鼠标使用的笼子数量,并且我将它用作计数器来查看需要多少个字段在任何给定的时间填补。

function fill( name, output, msg ) {
    newwin = window.open( '', '', 'top=80,left=60,width=350,height=200' );
    if ( !newwin.opener ) newwin.opener = self;
    newwin.opener.document.bgColor = "EBEBEB";
        with ( newwin.document ) {
        open();
        write( '<body onLoad="document.form.box.focus()">' );
    write( '<form name=form ' );
        write( '    onSubmit=opener.document.bgColor="EAE8E4";window.close()>' );
        write( msg );
        write( '<br>' );
        write( '<font face=Verdana size=2>' );
        write( '<p>You may enter your ' + name + ' here ' );
        write( '<center>' + name + ':' );
        write( '</font>' );
        for (int i = 1; i <= $mouse; i++)
        {
            write( '<input type=text name=box size=10 onKeyUp=' + output + '_' + i + '=this.value>' );
        }
        write( ' ' );
        write( '<input type=submit value="Finish">' );
        write( '</center></form>' );
        close();

    }
}

任何帮助都将不胜感激,谢谢。

1 个答案:

答案 0 :(得分:3)

您需要将int i = 1更改为var i = 1(使用Firebug立即获取此信息......)
请参阅:http://jsfiddle.net/Vur4H/

中的固定版本

另外 - 请参阅有关更好地选择HTML标记和HTML的问题的评论: - )