2010-07-13 90 views
0

我正在將其寫入一個文本文件,然後由我的瀏覽器讀取該文件。如何將變量「i [0]」分配給「提交」按鈕,以便將其傳遞給我的edit_python腳本?Python和HTML:將變量分配給提交按鈕

k.write('<table>') 
    for i in row: 
     k.write('<tr>') 
     k.write('<td><form action="edit_python" method="post" name="edit_python"><input type="submit" value="Submit" /><></FORM></td><td>'+i[0]+'</td><td>'+i[1]+'</td>') 
     k.write('</tr>') 
k.write('</table>') 

回答

2

將其置於隱藏的輸入元素中。在這種情況下,它將被分配給ivalue post請求變量。

k.write('<table>') 
    for i in row: 
     k.write('<tr>') 
     k.write('<td><form action="edit_python" method="post" name="edit_python"><input type="hidden" name="ivalue" value="' + i[0] + '"/><input type="submit" value="Submit" /></form></td><td>'+i[0]+'</td><td>'+i[1]+'</td>') 
     k.write('</tr>') 
k.write('</table>') 

我也清理了一下你的HTML,在結束窗體標記之前這是怎麼回事?

<></FORM> 

如果你想在你的頁面文字<>,使用&lt;&gt;。此外,標籤的情況應該與HTML匹配,並且對於XHTML(您似乎正在使用)應該是小寫。

編輯:

我寫這篇文章到一個文本文件,然後通過瀏覽器

而且,你一定要明白,瀏覽器將無法解釋的Python讀?您需要設置正確的Web服務器來執行此操作。

+0

對不起,我忘了把它從我的代碼中刪除,Python不會出現在我的文本文件中只有html :)。感謝你的回答 – Harpal 2010-07-13 18:50:33

2

您想將i[0]屬性傳遞給您的edit_python腳本嗎?我認爲你正在尋找一個隱藏的領域。所以你會修改你的腳本來寫出:

另外,當在字符串中使用Python變量時,我建議不要使用你所做的方法。查看Python string formatting獲取一些很好的例子。

我還修改了您的寫入方法,以便爲屬性使用字典傳遞,當您在調用中多次調用同一個變量時,這很有效。

k.write('<table>') 
for i in row: 
    k.write('<tr>') 
    k.write('<td><form action="edit_python" method="post" name="edit_python"> 
     <input type="hidden" name="some_attr" value="%(some_attr)s" /> 
     <input type="submit" value="Submit" /></form> 
     </td><td>%(some_attr)s</td><td>%(some_other_attr)s</td>' 
     % {"some_attr": i[0], "some_other_attr": i[1]}) 

    k.write('</tr>') 
k.write('</table>')