zoukankan      html  css  js  c++  java
  • type='button'和'submit'的区别

    今天在对表单的项目进行删除时出现了问题,原因就出现在点击input按钮时,这个input属性是type='button'还是type=‘submit'。


    代码大致如下:

    <script type="text/javascript">
        //获得选中文件的文件名
        function GetCheckfolderItem() {
            var allSel = '';
            if (document.form1.deleteid.value) //如果document.form1.deleteid不是数组,只是一个元素,那么直接返回这个元素的值
            {
                return document.form1.deleteid.value;
            }
            for (i = 0; i < document.form1.deleteid.length; i++) //length属性可获取数组中元素的个数
            {
                if (document.form1.deleteid[i].checked) {
                    if (allSel == ''){ allSel = document.form1.deleteid[i].value;}
                    else { allSel = allSel + "," + document.form1.deleteid[i].value;}
                }
            }
            return allSel;
        }
    
        function DoSubmit(myfolder) {
            var selid = GetCheckfolderItem(); //获取选中邮件的id
            if (selid == '') {
                alert("你没选中任何信息!");
                return false;
            }
            if (window.confirm("你确定要删除这些消息么?")) {
                location = "pm.php?dopost=del&ids=" + selid + "&folder=" + myfolder; //folder判断要删的是收件箱还是发件箱的邮件
            }
        }
    </script>
    <form action="pm.php" method="post" name="form1">
        <input type='hidden' name='dopost' value='del' />
        <table>
            <tr>
                <th>标题</th>
                <th>收件人</th>
                <th>状态</th>
                <th>发送时间</th>
            </tr>
            {dede:datalist}<!--遍历邮件-->
            <tr>
                <td>
                    <input name="deleteid" type="checkbox" value="{dede:field.id/}" /> 一个邮件
                </td>
                <td>mqiang02</td>
                <td>已阅读</td>
                <td>2013-7-7</td>
            </tr>
            {/dede:datalist}
            <tr>
                <td>
                    <input type="submit" value="删除选中" onclick="DoSubmit('<?php echo $folder; ?>')"/>
                    <button type="button" onclick="DoSubmit('<?php echo $folder; ?>')">删除选中</button>
                </td>
            </tr>
        </table>
    </form>
    先在pm.php中下一个断点die();阻止pm.php对页面的重定向。
    结果当我选中某个邮件后,单击第一个按钮时,浏览器的url是:http://localhost/dede/member/pm.php(所选邮件无法删除)
    单击第二个按钮时,浏览器的url是:http://localhost/dede/member/pm.php?dopost=del&ids=10&folder=outbox(邮件正常删除)
    通过比较可知type='submit'只执行提交表单这一操作,没有执行location这个跳转链接;而type='button'则在执行完onclick()后,跳转文件在 js文件里控制。

  • 相关阅读:
    Unity c# 状态机的简单入门
    python实战教程之自动扫雷(自己存下来学习之用)
    Kubernetes的三种外部访问方式:NodePort、LoadBalancer和Ingress-十一(1)
    Ubuntu安装eclipse以及创建快捷方式
    Dockerfile-HEALTHCHECK指令
    各个版本Microsoft Visual C++运行库下载
    docker 远程连接设置
    centos7安装redis3.2.12
    Windows下允许redis远程访问
    UltraISO制作U盘启动盘-centos7
  • 原文地址:https://www.cnblogs.com/moqiang02/p/4061561.html
Copyright © 2011-2022 走看看