在我的网站上创建可扩展的修改按钮

时间:2019-02-26 21:18:01

标签: javascript html firebase

我正在寻找一个用于我的网站的按钮,该按钮允许用户编辑网站和数据库上的信息。总而言之,我出售汽车,当我想更改车辆的详细信息时,我希望它更新网站上的信息,而不仅仅是数据库。

下面的函数表示单击更新按钮时发生的情况-我已将其范围缩小为仅汽车颜色。 content代表单击修改按钮时出现的形式。 cars.colour代表根据数据库的汽车颜色。单击更新按钮时,此值将出现在文本字段中。 #carList显示在另一个HTML页面上。

Catalogue.js:

function update(key){
  database.ref('car').once('value', function(snapshot){
    if(snapshot.exists()){
      snapshot.forEach(function(data){
        var cars = data.val();
        console.log(cars);

        if(data.key === key){
          var content = '';

          content += ' 
            <form id="car_update">
              <div class="container"> 
              <h1>Vehicle Details</h1>
              <div class="row"> 
                <input id="colour" 
                  type="colour" placeholder="Colour..." 
                  value="'**+cars.colour+**'" style="width: 150px;"/>
              </div>
              <button class="test" 
                onclick="updateCar(\''**+key+**'\')">Submit</button>'
        }

        $('#carList').append(content);
      })
    }
  }
}

Item1.html:

<label>Colour: </label></br>
<script type="text/javascript">
  document.getElementById('colour').innerHTML;
</script>

1 个答案:

答案 0 :(得分:0)

我不确定我是否完全理解,这听起来像是您要拨打电话并更新数据库,并且还希望用户显示的页面显示正在更新,并且您已经可以使用该数据库。

您似乎在html中有一个内联javascript方法,仅在浏览器呈现页面时才会调用该方法:

<label>Colour: </label></br>
<script type="text/javascript">
  document.getElementById('colour').innerHTML;
</script>

如果您还希望通过用户输入来更新页面,我认为您需要在用户提交后刷新页面,以便使用数据库中最新的内容从服务器再次调用html,将html更改为可以通过javascript更新的方式进行设置,例如:

<label>Colour: </label></br>
<span id="colorLabel">

,然后在javascript中,cars.colour具有更新后的值,如下所示:

  document.getElementById('colorLabel').innerHTML = cars.colour;