2017-09-08 9 views
0

Python-CGI 웹 응용 프로그램에서 작업 중입니다. 세 번째 열에 확인란이있는 세 개의 열이있는 표가 하나 있습니다. select all 확인란 기능을 사용하여 세 번째 열의 모든 확인란을 선택하려고합니다. here에서 촬영Python-CGI 웹 응용 프로그램의 모든 확인란을 자바 스크립트로 선택하십시오.

#!/usr/bin/python 
import cgi, cgitb 
cgitb.enable() 
print "Content-type:text/html\n" 
print "\n\n" 
print "<html>" 
print "<body>" 

bigtempl = '''<html> 
<head> 
</head> 
<body> 
    <center> 
     <script language="JavaScript"> 
     function selectAll(source) { 
       checkboxes = document.getElementsByName('colors[]'); 
       for(var i in checkboxes) 
         checkboxes[i].checked = source.checked; 
     } 
     </script> 
     <table border="0" cellspacing="15"> 
     <tr> 
     <th> Number </th> 
     <th> Letter </th> 
     <th> Select All <input type="checkbox" id="selectall" onClick="selectAll(this)" /> </th> 
     </tr> 
     {rows} 
     </table> 
    </center> 
    </body> 
</html>''' 
rowtempl = """ 
<tr> 
    <td> {number} </td> 
    <td> {letter} </td> 
    <td> <input type="checkbox" name="colors[]" value={check} /> </td> 
</tr> 
""" 

numbers = [0, 1, 2, 3] 
letters = ["A", "B", "C", "D"] 
checks = [11, 22, 33, 44] 

lst = zip(numbers, letters, checks) 

rows = [rowtempl.format(number=number, letter=letter, check=check) for number, letter, check in lst] 
rows = "".join(rows) 

wholepage = bigtempl.format(rows=rows) 

print wholepage 
print "</body>" 
print "</html>" 

참조 :

내 스크립트입니다.

코드 <script>...</script>

enter image description here

없이 스크립트의 출력 그러나이 <script> 태그의 {}과 혼동됩니다.

A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred. 
/root/cgi-bin/prblm.py in() 
    50 rows = "".join(rows) 
    51 
=> 52 wholepage = bigtempl.format(rows=rows) 
    53 
    54 print wholepage 
wholepage undefined, bigtempl = '<html>\n<head>\n</head>\n<body> \n <center>\n ... </table>\n </center>\n </body>\n</html>', bigtempl.format = <built-in method format of str object>, rows = '\n<tr>\n <td> 0 </td>\n <td> A </td>\n <td>...heckbox" name="colors[]" value=44 /> </td>\n</tr>\n' 

<type 'exceptions.KeyError'>: '\n\t\tcheckboxes = document' 
     args = ('\n\t\tcheckboxes = document',) 
     message = '\n\t\tcheckboxes = document' 

누군가가이 문제를 해결 좀 도와 줄래 : 이 오류는 무엇입니까? javascriptPythonCGI과 함께 사용할 수 있습니까?

답변

0

감사합니다. answer! 문제를 해결했습니다.

{}이 함수 외부에 추가되어 정상적으로 작동했습니다.

<script language="JavaScript"> 
    function selectAll(source) {{ 
      checkboxes = document.getElementsByName('colors[]'); 
      for(var i in checkboxes) 
        checkboxes[i].checked = source.checked; 
    }} 
    </script>