使用JQuery提交带有其他隐藏数据的HTML表单

时间:2013-09-11 22:04:11

标签: javascript jquery python html google-app-engine

我正在尝试使用隐藏输入添加另一个参数:

$('#form1').submit(function(){ //listen for submit event

        $('<input />').attr('type', 'hidden')
            .attr('name', 'id')
            .attr('value', id)
            .appendTo('#form1');

    return true;

});

“id”是一个全局变量。

我的HTML表单:

 <form id="form1" method=POST runat="server" enctype='multipart/form-data' action="/set_image">
       <div class="fileButtons">
       <input type='file' id="imgInp" name="imgInp" accept="image/*"/>
        <input type='button' id='remove' name="remove" value='Remove' />
        </div>
     <br>


<div class="modal-footer">
        <a type="button" class="btn pull-left" data-dismiss="modal">Cancel</a>
        <button type="submit" class="btn btn-primary pull-left">OK</button>
      </div>    
    </form>

在Google应用引擎的日志控制台中,我可以看到只有“id”才能获得其值。

在firebug中,它在调试时显示:

imgInp
    input#imgInp property value = "2.jpg" attribute value = "null"

main.py:

class SetImage(webapp2.RequestHandler):
    def post(self):
        id = str(self.request.get('id'))
        image = str(self.request.get('impInp'))
        ...

app = webapp2.WSGIApplication([ ('/set_image', SetImage),
                                ('/', MainPage)], debug=True)

我在这里使用了帖子:

https://stackoverflow.com/a/993897/2653179

编辑:问题解决了,这是SetImage类中imgInp变量的拼写错误...

3 个答案:

答案 0 :(得分:1)

        $('<input />').attr('type', 'hidden')
        .attr('name', 'id')
        .attr('value', id)

答案 1 :(得分:0)

以这种方式添加新字段:

$('#form1').submit(function(){ //listen for submit event

    $(this).append('<input name="' +id+ '" type="text" />');

});

<强> jsFiddle

答案 2 :(得分:-1)

在SetImage类中获取图像时出现了错误...:)

我写了impInp而不是imgInp ...