【问题标题】:How to use CSS to retrieve a text input by a user如何使用 CSS 检索用户输入的文本
【发布时间】:2013-08-13 03:12:11
【问题描述】:

我的输入标签带有文本字段,但想知道如何获取用户输入的输入文本并将其显示在 CSS 中

这可能看起来很奇怪,但它是一个颜色背景选项 (#ffffff),设计人员可以访问输入他们自己的颜色,一旦他们点击保存,它将被添加到正文背景样式中。

我设法让 css 通过液体拾取上传的图像,但我不知道如何保留颜色代码的输入文本。 我正在通过 Shopify 使用 .Liquid

我的 CSS:

 body {  
  background:{% if settings.use_Site_background %}url('Site_background.jpg'){% endif %} no-repeat /////This is where I need the color code/////// fixed top right; 
}

我的设置:

 <tr>
  <td><label for="Background_color">Background color</label></td>
  <td><strong>#</strong><input name="Background_color" value="" id="Background_color" type="text" maxlength="6" /></td> 
</tr>

如果有更简单的方法可以做到这一点,我非常感谢一些帮助,我们将不胜感激!

【问题讨论】:

  • 如果您发现一个有用的答案,请要求您支持/接受,并且您发现了一些无关紧要的东西,您也可以反对。这不仅可以帮助那些回答问题的人,还可以帮助那些提出问题的人——StackOverflow 的基本和隐含规则

标签: css background-color shopify liquid


【解决方案1】:

你会得到如下文本字段的值:

var inputColor = document.getElementById('Background_color').value

然后,在脚本中任何需要的地方使用它

完整的脚本:

var btn = document.getElementById('pickColor');
btn.addEventListener('click', pickColorFunc, false);
function pickColorFunc(){
    var inputColor = document.getElementById('Background_color').value,
        myContainer = document.getElementById('content-box');
    myContainer.style.backgroundColor = inputColor;
}

HTML:

<input type="text" id="Background_color" />
<button id="pickColor">Pick Color</button>
<div id="content-box">
</div>

以及我默认添加的小css以确保看到背景颜色:

#content-box{
    width:100px;
    height:100px;
}

请检查这段代码:http://jsfiddle.net/h5W6j/1

【讨论】:

  • Aditya Saxena 是对的,但有一个小错误,它是.value,而不是.val(),否则会导致错误。
  • 谢谢@Shivam ..刚刚编辑了。我想我可能把它和 jQuery 的方法搞混了 :)
  • 大声笑...@Shivam 虽然我的时间我确实起得很早...对你来说可能是深夜:)
  • 非常感谢!所以我假设我需要将该代码放在标题中的某个地方,以便在我打开页面时加载它?然后在 ///// no-repeat 'inputcolor' 固定右上角之间添加; ///// 对不起,我正在一点一点地学习。再次,非常感谢你!
  • 好的很酷......所以你需要做的就是将它添加到一个脚本标签中,该标签位于你的 html 正文的末尾。这确保了 Background_color 有一个元素,以便脚本可以在其上运行。但是,如果脚本出现在相关元素之前,则脚本将找不到任何内容。在这种情况下,语句就会出错。
【解决方案2】:

添加到 Aditya Saxena 答案:jsFiddle

把它放在你的页脚:

document.getElementById('someForm').onsubmit = function() {
    var inputColor = document.getElementById('Background_color').value,
        $body = document.getElementsByTagName('body')[0];

    $body.style.backgroundColor = inputColor;
    return false;
};

【讨论】:

  • 我得到了脚本,但现在我不知道如何将它添加到 CSS 行。将 var 添加到行中的正确方法是什么?并感谢您的意见!
  • 您不必向css 添加任何内容,javascript 会处理这些。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-22
  • 1970-01-01
  • 2017-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多