求助:表单中的文本输入(input)与下拉选择(select)里的文字无法水平居中

epoecq epoecq 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
网上找到此代码后,边学边想,觉得此表仍不完善,所以把学习中觉得还不够完美的片段发到这里,请高手帮助改一下。本人编程水平相当差,所以想了很多办法,网上也找了不少方案,却都不起作用。只好再向高手请教。
下边的表格中查到两个问题:一是,下拉选择框内的文字居左,有点不美观,但网上找的不少居中代码,都未能使下边的表格内的文字居中。过去在不少表格中都轻易的做到文字居中,但不知为什么,这个表格中却难做到。二是,此表的文本输入框内的文字也无法居中。以前不少表格中用代码使文字居中显示,可这次却不行。不知原因在哪。请高手赐教。
此表代码太长,分两段发。请高手复制到记事本上,用IE打开试试看,然后想办法解决一下以上问题。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>表单文本输入与下拉选择中的字体居中问题的交流</title>
<style type="text/css">
<!--
.DoubleColorTable tr{background-color:expression(rowIndex%2==0?'#FCF5DA':'#FFFFFF');
font-size: 12px;
}
-->
</style>
<link href="cc.css" rel="stylesheet" type="text/css">
<SCRIPT language=JavaScript>
function $(o){return document.getElementById(o)}
window.onload=function init(){
var input_obj=$("amount_price_total").getElementsByTagName("input"),j=input_obj.length;
for(var i=0;i<j;i++){
if (input_obj[i].id.indexOf("price")!=-1){
input_obj[i].onblur=function(){calculate(this.id);calculate_total();}
var _id = input_obj[i].id.substring(5) ;
$('amount' + _id).onchange = function(__id){
return function(){
if($('price'+__id).value > 0){
calculate('price'+__id);
calculate_total();
}
}
}(_id);
}
}
}
function calculate(id){//金额
var numlen=id.substring(5,id.length)
var v_amount=$("amount"+numlen).value
var v_price=$(id).value
if (v_amount>0&&v_price>0){
$("total"+numlen).value=Math.ceil(v_amount*v_price*1000)/1000;//保留三位
$("amount"+numlen).onblur=function(){calculate(id);calculate_total();}
}
else if (v_amount==""||v_price==""){
$("amount"+numlen).value=""
$(id).value=""
$("total"+numlen).value=""
}
else {
$("total"+numlen).value="非法输入"
}
}
function calculate_total(){//合计
var temp_total=0+1-1;
var input_obj=$("amount_price_total").getElementsByTagName("input"),j=input_obj.length;
for(var i=0;i<j;i++){
if (input_obj[i].id.indexOf("total")!=-1 && input_obj[i].value>0){
var numlen=input_obj[i].id.substring(5,input_obj[i].id.length)
var v_amount=$("amount"+numlen).value
var v_price=$("price"+numlen).value
temp_total+=v_amount*v_price
}
}
temp_total=Math.ceil(temp_total*100)/100;//保留二位
$("tt").innerHTML="("+temp_total+"元) ¥"+bigwrite(temp_total)
}
function bigwrite(x){//转换大写
var caiying2007_bp=["元","拾","百","千","万","拾","百","千","亿","拾","百","千","万"];//最高位为"万亿",不够用时可依律增加
var caiying2007_ap=["角","分正"]
var caiying2007_s=["零","壹","贰","叁","肆","伍","陆","柒","捌","玖"]
//获取整数并转换大写
if (x>=1){//金额不小于1元
var caiying2007_b=x.toString().split(".")[0].split(""),k=caiying2007_b.length
//个位以前
for (var i=0;i<k-1;i++){
if ((k-i)==9 && parseInt(caiying2007_b[i])==0){//亿
caiying2007_b[i]=caiying2007_bp[k-i-1];
}
if ((k-i)==5 && parseInt(caiying2007_b[i])==0){//万
var poo=false
for (var p2=1;p2<4;p2++){
if (parseInt(caiying2007_b[i-p2])!=0){poo=true;p2=100}
}
caiying2007_b[i]=(poo)?caiying2007_bp[k-i-1]:"";
}
}
for (var i=0;i<k-1;i++){
if (parseInt(caiying2007_b[i])==0)caiying2007_b[i]=(caiying2007_b[i-1]=="零" ||caiying2007_b[i-1]=="")?"":"零";
else caiying2007_b[i]=(caiying2007_b[i]=="零")?"零":(caiying2007_b[i]=="亿")?"亿":(caiying2007_b[i]=="万")?"万":(caiying2007_b[i]=="")?"":caiying2007_s[parseInt(caiying2007_b[i])]+caiying2007_bp[k-i-1]
}

//个位
caiying2007_b[k-1]=(parseInt(caiying2007_b[k-1])==0)?caiying2007_bp[0]:caiying2007_s[parseInt(caiying2007_b[k-1])]+caiying2007_bp[0]
caiying2007_b_=caiying2007_b.join("")
//去无效"零",如要求保留"零亿"/"零万"/"零元",屏蔽或删除下面三句
caiying2007_b_=caiying2007_b_.replace("零万","万")
caiying2007_b_=caiying2007_b_.replace("零亿","亿")
caiying2007_b_=caiying2007_b_.replace("零元","元")
}
//金额不小于1元
//else caiying2007_b_="零元"//金额小于1元显示"零元"
else caiying2007_b_="";//金额小于1元不显示"零元"
//获取小数并转换大写
if (x.toString().split(".")[1]){
var caiying2007_a=x.toString().split(".")[1].split("")
//caiying2007_a[0]=caiying2007_s[parseInt(caiying2007_a[0])]+caiying2007_ap[0];//显示“零角”
caiying2007_a[0]=(parseInt(caiying2007_a[0])==0)?"":caiying2007_s[parseInt(caiying2007_a[0])]+caiying2007_ap[0];//不显示“零角”
if (caiying2007_a[1])caiying2007_a[1]=(parseInt(caiying2007_a[1])==0)?caiying2007_ap[1]:caiying2007_s[parseInt(caiying2007_a[1])]+caiying2007_ap[1]
else caiying2007_a[1]="正"
caiying2007_a_=caiying2007_a.join("")
}
else caiying2007_a_="正"
//合并整数小数
var caiying2007=caiying2007_b_+caiying2007_a_
return caiying2007
}
</SCRIPT>
</head>
...全文

相关推荐

表单元素和文字垂直居中对齐问题解决整理

为了使表单元素和文字都垂直居中对齐,当文本框和下拉框都没问题,但是单选框和复选框就了,经过反复测试终于完整搞定与大家分享,感兴趣的各位可不要错过了哈

weixin_38514660

input+select(multiple) 实现下拉框输入值

于是尝试了用input+select来实现,结果如下:   具体代码及演示地址:www.homdian.com/test.aspx 这种方法其实是在下拉框上压一个文本框,能够实现输入,也能够实现下拉框的选择。但根据输入值用用异步的方式绑定下拉框选项时, 无法展开下拉框,到网上找了段代码: 代码如下:document.form1.ddlMovName.focus(); var WshShell = new ActiveXObject(“Wscript.Shell”); try{ WshShell.SendKeys(“%{DOWN}”); } catch(e){} WshShell.Quit;

weixin_38691199

js实现可输入可选择的select下拉框

本文实例为大家分享了可输入可选择的select下拉框,供大家参考,具体内容如下 1、原理: 1.1将input输入框和select框合并在一起,但是显示出向下点击的按钮: 这种比较容易做到 1.2出现输入值能够自动匹配的功能 动态的加载一个临时的div出现在该input下方,当点击页面中的空白地方,div隐藏。 1.3代码: &lt;!doctype html> &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;meta name="Generator" content="EditPlus:registered:"&gt; &lt;meta name="Author" con

weixin_38712578

input 文本框 文字垂直居中对齐 ie firefox

在ie中文字垂直居中对齐的话 在css中把line-height的属性设置成height的高度即可。但在ff中似乎不管用。

weixin_38591615

用CSS让img input select button 图片,文本框,下拉菜单,按扭垂直居中的方法

一直以来,在HTML中,img input select button 这里元素,垂直对齐,比较难。结果我长大了。我发现了一个现像,其实解决这些问题只是一句话的事。

weixin_38711369
评论 9
收藏 已收藏
分享
返回顶部
epoecq
JavaScript 87,983 成员 224,680 内容