2012-02-22 97 views
-2

我想用文本框打開一個新窗口,將您寫入的文本複製到多個文本框中,這裏是我必須插入到<body>中的內容。當我將我的代碼複製到我的perl文件中時,所有之後的所有內容都被包含在html中,就好像我的標誌混亂了一樣。這個javascript語法有什麼問題?

<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函數,它使用$鼠標,其計數器變量在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(); 

    } 
} 

任何幫助,將不勝感激,謝謝。

+4

此代碼讓我情緒激動。 – 2012-02-22 01:05:04

+3

字體標記讓我畏縮。 – epascarello 2012-02-22 01:17:47

+2

不帶引號的屬性可以幫助我。 – MacMac 2012-02-22 01:25:40

回答

3

您需要更改int i = 1var i = 1(使用Firebug在任何時候得到這個...)
見固定的版本:http://jsfiddle.net/Vur4H/

而且 - 看到有關更好的選擇HTML標籤和HTML的意見,你的問題一般來說:-)

+0

謝謝你,但是當我單擊頁面主體上的[輸入]時,窗口中沒有出現文本字段。對不起,我很少使用javascript – hopup 2012-02-22 01:41:41

+0

你應該看看你爲$ mouse設置了什麼值(在瀏覽器中檢查頁面的來源)。如果我用1替換$ mouse,它可以正常工作。 – Dror 2012-02-22 03:06:31