javascript 用文字取代<input text..>
PHP中文网
PHP中文网 2017-04-10 18:09:26
[JavaScript讨论组]

我想通过文字来取代<input text...> 详情如截图。。。
请高手指点。。。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="style.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>    
</head>
<body>    
    
<form action="lol.php" method="POST">    
<p id="input_p">

<input type="radio" name="price" value="10" >$10<br>
<input type="radio" name="price" value="20" checked>$20<br>
<input type="radio" name="price" value="30">$30<br><br>
price$<input type="text" id="it" value=""><br><br>

quantity<button type="button" id="moins" onclick="minus()">-</button>
<input type="number" name="quantity" value="1" id="count">
<button type="button" id="moins" onclick="plus()">+</button><br><br>

Total <input type="text" value="" name="sub_total" id="total">

</p>

<button type="submit">GOGOGO</button>
    
</form>

<script>
$(document).ready(function() {
$('#it').val($('input[checked]').val());
$('#total').val($('input[checked]').val());

$('input[type=radio]').click(function() {
    $('#it').val(this.value);
    $('#total').val($('#it').val()* count);
});
});

    var price = document.getElementById('it');
    var count = 1;
    var total =0;
    var countEl = document.getElementById("count");
    var countEl1 = document.getElementById("total");

    function plus(){
        count++;
        total=price.value*count;
        countEl.value = count;
        countEl1.value = total;
        
    }
    function minus(){
      if (count > 1) {
        count--;
        total=price.value*count;
        countEl.value = count;
        countEl1.value = total;
      }  
    }

</script>
</body>
</html>
PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(3)
巴扎黑

你要先确认你的哪些input 是否确实不再需要进行直接输入,如果不需要,其实最简单的方法是定义相应的input类型样式,禁用可编辑属性(只读),并使得显示像直接输出而已。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="style.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>    
</head>
<body>    
    
<form action="lol.php" method="POST">    
<p id="input_p">

<input type="radio" name="price" value="10" >$10<br>
<input type="radio" name="price" value="20" checked>$20<br>
<input type="radio" name="price" value="30">$30<br><br>
price$<input type="textbox" class="textbox  mleft" readonly id="it" value="" ><br><br>

quantity<button type="button" id="moins" onclick="minus()">-</button>
<input type="textbox" class="textbox  mcenter" readonly value="1" id="count">
<button type="button" id="moins" onclick="plus()">+</button><br><br>

Total <input type="textbox" class="textbox mleft" readonly value="" name="sub_total" id="total">

</p>

<button type="submit">GOGOGO</button>
    
</form>

<script>
$(document).ready(function() {
$('#it').val($('input[checked]').val());
$('#total').val($('input[checked]').val());

$('input[type=radio]').click(function() {
    $('#it').val(this.value);
    $('#total').val($('#it').val()* count);
});
});

    var price = document.getElementById('it');
    var count = 1;
    var total =0;
    var countEl = document.getElementById("count");
    var countEl1 = document.getElementById("total");

    function plus(){
        count++;
        total=price.value*count;
        countEl.value = count;
        countEl1.value = total;
        
    }
    function minus(){
      if (count > 1) {
        count--;
        total=price.value*count;
        countEl.value = count;
        countEl1.value = total;
      }  
    }

</script>
</body>
</html>

另在样式style.css文件中添加

.textbox {
  margin-top: 2px;
  border: none;/*去除边框,这样显示就像普通文字一样*/
  height: 25px;/*根据需要设置高度*/
  width: 275px;/*根据需要设置宽度*/
  background-color: #7a7a7a;/*注意,这里颜色要和底色一致*/
  color:#fff;/*注意,这里颜色要和文字色一致*/
}
.mcenter{
text-align: center;
}
.mleft{
text-align: left;
}
PHP中文网

把 input 的背景、边框去掉,然后设置为 readonly 就 OK 啦

大家讲道理

对的,楼上几位说的都可以

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号