zoukankan      html  css  js  c++  java
  • html的body内标签之input系列1

    1. Form的作用:提交当前的表单. 类似于去了银行提交的纸质单子,递到后台去办理相关业务。

        text,password只有输入的功能;button,submit只有点击的功能。想要把这些信息提交,需要用Form  

       button毛线用也没有(以后学JS的时候可以赋予一定的功能),submit才有真正提交的功能。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <form>
            <input type="text"/>
            <input type="password"/>
            <input type="button" value="登录1"/>
            <input type="submit" value="登录2"/>
        </form>
    </body>
    </html>
    

     2. Action 指的是把下面的内容提交到哪里,提交到哪个URL。method:提交方法。(有GET, POST两种方法,默认是以GET方法提交给后台的)

    往后台(服务器端)提交的时候,必须加上name属性。告诉后台提交的数据是什么信息。提交的时候,会把信息打包成字典。{user: 用户输入的用户名;email:用户输入的邮箱}

    通过localhost:8888/index 可以访问到服务器端。因为服务器端监听的是8888端口。

    现在把http://localhost:8888/index加到了action里面,指定了方法为get。 所以程序一运行的时候,就执行GET方法,把数据提交到了服务器端。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <form action="http://localhost:8888/index" method="GET">
            <input type="text" name="user"/>
            <input type="text" name="email"/>
            <input type="password" name="pwd"/>
            <!--{'user':用户输入的用户名,'email':'xx','pwd':'xx'}-->
            <input type="button" value="登录1"/>
            <input type="submit" value="登录2"/>
        </form>
    </body>
    </html>
    

     3.如果以GET方式提交的话,会把用户的输入都拼接到URL后面,然后再提交。默认都是以GET方式向后台提交数据的。

    如果用POST方法,则不会拼接,会把你提交的内容放到数据里面提交上去。

    两者只是体现形式不一样,安全程度是一样的,抓包的时候都能抓到。没有安全不安全一说。

    self.write()返回到页面上。

    4. 用不同的方法访问URL的时候,会执行不同的函数。只要客户端有请求,APP服务器端就会有数据返回。

       APP程序如下:因为没有安装 tornado,所以这段没有测试。

    import tornado.ioloop
    import tornado.web
    
    
    # pip3 install tornado
    
    class MainHandler(tornado.web.RequestHandler):
        def get(self):
            print(111)
            u = self.get_argument('user')
            e = self.get_argument('email')
            p = self.get_argument('pwd')
            if u == 'alex' and p == '123' and e == 'alex@126.com':
                self.write("OK")
            else:
                self.write("滚")
    
        def post(self, *args, **kwargs):
            u = self.get_argument('user', None)
            e = self.get_argument('email', None)
            p = self.get_argument('pwd', None)
            print(u, e, p)
            self.write('POST')
    
    
    application = tornado.web.Application([
        (r"/index", MainHandler), #如果你访问的是index这个URL,它就会执行MainHandler类里面的不同方法
    ])
    if __name__ == "__main__":
        application.listen(8888) #在内部会监听8888端口,用户访问的时候,我可以返回self.write()里面的内容。
        tornado.ioloop.IOLoop.instance().start()
    

    5. 在表单里的name和value有什么区别啊?

    name可以理解为名称,用于区别表单项 value是表单项的值. 如果有些效果需要JS调用的话,那么他寻找的正是name。

  • 相关阅读:
    读写文件print函数操作
    协程相关
    线程池
    多线程条件
    ibm动态测试
    ubuntu 之 搜狗拼音安装
    Linux 安装 出现Could not get lock /var/lib/dpkg/lock
    Sql server
    maven 搭建
    EOS
  • 原文地址:https://www.cnblogs.com/momo8238/p/7398077.html
Copyright © 2011-2022 走看看