2013-10-20 43 views
0

我在Perl中有一個小腳本。 在腳本中有一個'表格'。繼承人的形式是什麼樣子:Perl&Javascript/HTML循環

sub print_form { 
     my ($tt, $idnum) = @_; 
     print "<CENTER>\n"; 
     print "<FORM METHOD='POST' ACTION='/cgi/thisscript.pl'>\n"; 
     print " <INPUT type='hidden' name='idnum' value='$idnum' />\n"; 
     print " <INPUT type='hidden' name='rain' value='$ttprefix' />\n"; 
     print " <LABEL FOR='pin'>label 1</LABEL>\n"; 
     print " <SELECT name='pin'>\n"; 
     my $profiles = $tt->get_profile_urls; 
     for my $pin (keys %$profiles){ 
       print "   <OPTION value='$pin'>$profiles->{$pin}{name} ($pin)</OPTION>\n"; 
     } 
     print " </SELECT>\n"; 
     print " <BR />\n"; 
     print " <LABEL FOR='invid'>Select the qouta</LABEL>\n"; 
     print " <SELECT name='invid'>\n"; 
     my $qouta = $tt->get_qouta; 
     for my $invid (sort { $a <=> $b } keys %$qouta){ 
       my ($name, $pren) = ($qouta->{$invid}{name}, $qouta->{$invid}{pren}); 
       print "   <OPTION value='$invid'>$name ($pren)</OPTION>\n"; 
     } 
     print " </SELECT>\n"; 
     print " <BR />\n"; 
     print " <LABEL FOR='qty'>qouta quantity</LABEL>\n"; 
     print " <INPUT type='text' name='qty' value='$atom' />\n"; 
     print " <BR />\n"; 
     print " <INPUT type='submit' value='submit'/>\n"; 
     print "</FORM>\n"; 
     print "</CENTER>\n"; 
} 

我試着去循環它,以便例如JavaScript函數(在同一頁面上)將自動點擊次數的「提交」按鈕#。
是否有可能讓JavaScript'自動'點擊提交功能? 我明白這是可能的與脂猴的Userscripts,雖然我想能夠做到這一切在網頁上。

+0

@ ds1有一個答案,將提交就好了。不確定該循環是如何工作的,因爲在提交時該頁面將會丟失。也許谷歌「JavaScript AJAX」,看看這是你想做的事情? –

+0

@Richard Huxton提交時不會丟失頁面 - 提交發生在同一頁面上。 (不要認爲它像註冊/登錄表格) –

+0

呃?根據定義,提交將數據發佈到返回響應的服務器。原始頁面(包含任何javascript變量)將會丟失。您可以跟蹤計數服務器端或不發佈頁面(ajax)。 –

回答

1

你想循環什麼?

在代碼中,只有一個提交按鈕,在JavaScript中,你可以在任何時間提交表格這樣的形式可用(即事件,如onload事件):

document.forms[0].submit(); 

如果你想單擊窗體多次提交(無論出於何種原因),請在循環中提交(就是你想要循環的)提交數量。雖然這樣做似乎是一個不好的選擇。 另外,你也可以給該提交按鈕一個ID和模擬點擊JS:

document.getElementById("submit_id").click();