我有一個處理程序/choice
與textarea字段和/choicehandler
寫入返回到數據庫的信息。但是在發佈表單之前,我想寫一個用戶名到localStorage
。如何通過一次點擊寫入localStorage併發布textarea?
這是形式:
<form name="choice_form" action="/choicehandler" method="post">
<textarea name="choice" rows="7" cols="50"></textarea><br />
<input type="submit" value="submit your choice">
</form>
在點擊我要一個用戶名分配給用戶,並將其與writeToStorage()
寫入localStorage
:
<head>
<script type="text/javascript">
var count = 0;
function writeToStorage()
{
user = "user" + count;
count++;
localStorage.setItem("chooser", user);
};
</script>
</head>
我感到困惑的是如何使用onclick="writeToStorage()"
來呼叫writeToStorage()
,同時在表格中有action="/choicehandler"
。
什麼是正確的方式來實現這樣的事情。我正在使用Google App Engine(Python),並在解決此問題後稍後將ajax調用添加到/choicehandler
。
作爲一個總結,我想寫的JavaScript變量user
localStorage
和post
textarea到/choicehandler
只需點擊一下。
UPDATE
我想john_doe's answer但writeToStorage()
永遠不會被解僱。我究竟做錯了什麼?處理程序的完整代碼如下:
class Choice(webapp.RequestHandler):
def get(self):
self.response.out.write("""
<html>
<head>
<script type="text/javascript">
var count = 0;
function writeToStorage()
{
alert("count: " + count);
user = "user" + count;
//this line was giving an error; now it is fixed
//alert("user: " + user and "count: " + count);
alert("user: " + user + " and count: " + count);
count++;
localStorage.setItem("chooser", user);
};
</script>
</head>
<body>
<form name="choice_form" id="choice_form" action="/choicehandler" method="post" onsubmit="writeToStorage()">
<textarea name="choice" rows="7" cols="50"></textarea><br />
<input type="submit" value="submit your choice">
</form>""")
self.response.out.write("""
</body>
</html>""")
你目前的技術有什麼問題? – lonesomeday
我不清楚在哪裏或如何使用'onclick =「writeToStorage()」' – Zeynel