我正在尝试从JavaScript函数将整数的值传递到服务器端的Python脚本。我已经试图找到一种直接从JavaScript传递该值到Python的方法,但目前还没有成功。因此,我尝试在HTML表单中使用JavaScript函数创建一个包含int值的隐藏元素。然后使用Python Bottle框架的“POST”操作,将该值复制到Python脚本中。然而,该int被处理为NoneType,而不是int类型,因此我无法在处理脚本中使用它。以下是我的JS函数部分,它创建了名为instance的int元素。
HTML表单和'POST'方法
使用'POST'方法的HTML表单
最后是服务器端的Python脚本。
尝试使用“POST”方法添加信息时,我收到以下错误消息:
。
function newItem(){
instance++;
var oldInput = document.getElementById("itemInfo");
var parent = oldInput.parentNode;
var newDiv = document.createElement("div");
var item = document.createElement("INPUT");
var qty = document.createElement("INPUT");
var color = document.createElement("INPUT");
var count = document.createElement("HIDDEN");
item.name = "item" + instance;
qty.name = "qty" + instance;
color.name = "color" + instance;
count.value = instance;
newDiv.appendChild(item);
newDiv.appendChild(qty);
newDiv.appendChild(color);
newDiv.appendChild(count);
HTML表单和'POST'方法
使用'POST'方法的HTML表单
<form method ="post" class="form" action = "/newguest" method = 'post'>
Name: <input type="text" name="name"/>
<p>Item: <input type="text" name="item"/>
Qty: <input type="text" name="qty"/>
Color: <input type="text" name="color"/></p>
<div class="itemInfo" id="itemInfo"></div>
<input type ="button" value="Add Item" onclick="newItem();"/>
<p>Phone: <input type="text" name="phone"/>
Email: <input type="text" name="email"/>
Artwork: <input type="file" name="file"/>
<p>Quote: <input type="text" name="quote"/></p>
</p>
<p>Notes: <textarea cols="40" rows="10"></textarea>
</p>
<input type="submit" value='Add Order'/>
</form>
最后是服务器端的Python脚本。
@bottle.route('/newguest', method = 'POST')
def insert_newguest():
name = bottle.request.forms.get("name")
email = bottle.request.forms.get("email")
item = bottle.request.forms.get("item")
qty = bottle.request.forms.get("qty")
color = bottle.request.forms.get("color")
count = bottle.request.forms.get(count)
itemDict = dict()
qtyDict = dict()
colorDict = dict()
for num in range(1, count):
itemkey = "item" + str(num)
qtyKey = "qyt" + str(num)
colorKey = "color" + str(num)
itemDict[itemKey]= bottle.request.forms.get("item"+str(num))
qtyDict[qtyKey] = bottle.request.forms.get("qty"+str(num))
colorDict[colorKey] = bottle.request.forms.get("color"+str(num))
尝试使用“POST”方法添加信息时,我收到以下错误消息:
![enter image description here](https://istack.dev59.com/pzlaJ.webp)
count = bottle.request.forms.get("count")
中将count用引号括起来? - carpeliam