duanbamo0127 2016-10-19 06:38
浏览 36
已采纳

将按钮重定向到不同页面并保存而不是在同一页面中保存值

We are using below code to update the form fields in a database

<form action="profile.php" method="POST">

    Name : 
    <input type="text" name="txtuname" value="<?php echo $row['userName'] ?>" /><br/>
    Email :
    <input type="text" name="txtemail" value="<?php echo $row['userEmail'] ?>" />

    <input id="sub" type="submit" name="submit" value="Save" style="display:none" />
    <button class = "pedit" name="submit" onclick="work()">Edit</button>
</form>

script

<script>function work() 
    { 
    var see = document.getElementsByName("submit"); 
    for (i = 0; i < see.length; i++) 
    { 
      see[i].style.display = see[i].style.display === 'none' ? 'block' : 'none'; }}
</script>

both form fields, edit and save parts are displaying in only one page & using only same css.

enter image description here

  • 写回答

2条回答 默认 最新

  • dongpai2754 2016-10-19 07:10
    关注

    Perhaps the following, quickly written code, might help you change the appearance in the manner you are wishing.

    echo "
    <form>";
    
    for( $i=0; $i < 10; $i++ ){
        echo "
            <div class='record'>
                <output id='name$i' name='name'>Fred Bloggs $i</output><br />
                <output id='email$i' name='email'>fred.bloggs_$i@gmail.com</output><br />
                <input type='submit' value='Save' style='display:none'/>
                <input type='button' value='Edit' />
            </div>";
    }
    
    echo "
    </form>
    
    
    <script type='text/javascript'>
        var col=document.querySelectorAll('input[type=\"button\"]');
        if( col )for( var n in col )if( col[n] && col[n].nodeType==1 )col[n].onclick=function(e){
            var parent = this.parentNode;
    
            var fname  = parent.querySelectorAll('output[name=\"name\"]')[0];
            var femail = parent.querySelectorAll('output[name=\"email\"]')[0];
            var bttn = parent.querySelectorAll('input[type=\"submit\"]')[0];
    
            var vname  = fname.innerHTML;
            var vemail = femail.innerHTML;
    
            parent.removeChild(fname);
            parent.removeChild(femail);
    
            fname = document.createElement('input');
            fname.type='text';
            fname.name='name';
            fname.value=vname;
    
            femail = document.createElement('input');
            femail.type='text';
            femail.name='email';
            femail.value=vemail;
    
            parent.appendChild(fname);
            parent.appendChild(femail);
    
            this.style.display='none';
            bttn.style.display='block';
    
        }.bind( col[n] );
    </script>";
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度