Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将表单中的值存储在变量中,以便以后在函数中使用?_Javascript_Html_Css - Fatal编程技术网

Javascript 如何将表单中的值存储在变量中,以便以后在函数中使用?

Javascript 如何将表单中的值存储在变量中,以便以后在函数中使用?,javascript,html,css,Javascript,Html,Css,我想制作一个颜色选择器,用于更改用户创建的颜色的不透明度。html基本上保存了一个带有输入的表单,我通过document.getElementById().value获得该表单。我的问题是:如何将输入的值存储在变量中,以便能够更改从用户处获得的rgb颜色的不透明度? 这是从窗体获取所有颜色的函数 function generateColor() { // generate colors and save them for later on var red = document.getEl

我想制作一个颜色选择器,用于更改用户创建的颜色的不透明度。html基本上保存了一个带有输入的表单,我通过
document.getElementById().value
获得该表单。我的问题是:如何将输入的值存储在变量中,以便能够更改从用户处获得的rgb颜色的不透明度? 这是从窗体获取所有颜色的函数

function generateColor() { // generate colors and save them for later on
    var red = document.getElementById("red").value;
    var green = document.getElementById("green").value;
    var blue = document.getElementById("blue").value;

    return "rgb(" + red + "," + green + "," + blue + ")";
}
你是说:

function generateColor() {  // generate colors and save them for later on
 var red = getElementById("red").value,
     green = getElementById("green").value,
     blue = getElementById("blue").value,
     rgb = "rgb(" + red + "," + green + "," + blue + ")";

然后,您可以使用
rgb
,方法与在任何函数之外使用
红色、绿色和蓝色

声明
var storedValue=0
相同。然后在函数内部,不使用var,设置它的值

 function generateColor() {  // generate colors and save them for later on
     var red = getElementById("red").value;
     var green = getElementById("green").value;
     var blue = getElementById("blue").value;
     storedValue = blue;
     return "rgb(" + red + "," + green + "," + blue + ")";

也许这会有帮助。所有数据都存储在一个数组中以供引用:

function generateColor() {  // generate colors and save them for later on
     var red = getElementById("red").value;
     var green = getElementById("green").value;
     var blue = getElementById("blue").value;

var colors = new Array();
colors[red] = red;
colors[green] = green;
colors[blue] = blue;

return(colors);
}

尝试创建一个构造函数:

// common.js
//<![CDATA[
var doc = document, bod = doc.body;
function E(e){
  return doc.getElementById(e);
}
//]]>

// other.js
//<![CDATA[
function generateColor(redId, greeId, blueId, opacityId, whereId){
  this.red = 0; this.green = 0; this.blue = 0; this.opacity = 1;
  this.getRed = function(red_id){
    if(!red_id)red_id = redId;
    var r = this.red = E(red_id).value;
    return r;
  }
  this.getGreen = function(green_id){
    if(!green_id)green_id = greenId;
    var g = this.green = E(green_id).value;
    return g;
  }
  this.getBlue = function(blue_id){
    if(!blue_id)blue_id = blueId;
    var b = this.blue = E(blue_id).value;
    return b;
  }
  this.getOpacity = function(opacity_id){
    if(!opacity_id)opacity_id = opacityId;
    var o = this.opacity = E(opacity_id).value;
    return o;
  }
  this.build = function(where_id){
    if(!where_id)where_id = whereId;
    var e = this.where = E(where_id), o = this.opacity;
    e.style.color = 'rgb('+this.red+', '+this.green+', '+this.blue+')';
    e.style.opacity = o.toString();
    e.style.filter = 'alpha(opacity='+100*(+o)+')';
  }
}

也可以不基于ID设置颜色

var wow = new generateColor;
wow.red = 4; wow.blue = 7; wow.green = 'f'; wow.opacity = 0.5;
wow.build('outputId');
//]]>

它是
document.getElementById()
,除非它直接在HTML中。关于什么?如果您想更改其他函数中的不透明度,这是正确的方法,如果您计划扩展当前函数,则不需要。因此,我可以将其设为rgb.style.opacity=0,5;在同一个函数中?是的,将一个值传递到将设置不透明度的函数中,或者只是在第一个位置设置它,这没有什么不同@亨利猞猁
var wow = new generateColor('red', 'green', 'blue', 'opacity', 'outputId');
wow.build();
//]]>
var wow = new generateColor;
wow.red = 4; wow.blue = 7; wow.green = 'f'; wow.opacity = 0.5;
wow.build('outputId');
//]]>