javascript - 使用 php 进行数据列表选择

标签 javascript php jquery html mysql

我试图为我的网站制作一个描述表,我完成了前端 javascript html/css但我对如何制作后端感到困惑mysql/php工作。 我从未使用过 datalist之前有人建议我使用它。我很熟悉发布表单,但从未使用过 div。如果里面有数据列表,你认为我如何获取这些信息。

这是我的 javascript 代码。

<script>

     var onEditClick = function() {
      this.parentNode.classList.add('inEditMode');

      var content = this.parentNode.querySelector('p');
      content.setAttribute('contentEditable', true);
      content.focus();
    };

    var onSaveClick = function() {
      var parent = this.parentNode;

      var content = parent.querySelector('p');
      content.setAttribute('contentEditable', false);

      var xhr = new XMLHttpRequest();
      var params = "description="+ content.textContent;

      xhr.open("POST", parent.dataset.post, true);

      xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      xhr.setRequestHeader("Content-length", params.length);
      xhr.setRequestHeader("Connection", "close");

      xhr.send(params);

      xhr.onreadystatechange = function() {
        if(xhr.readyState === 4) {
          if (xhr.status === 200) {
            alert('Saved');
          } else {
            alert('Not saved');
          }
            }

        parent.classList.remove('inEditMode');
      };
    };

    var onCancelClick = function() {
      var parent = this.parentNode;

      parent.classList.remove('inEditMode');
      var content = parent.querySelector('p');
      content.setAttribute('contentEditable', false);
        content.blur();  
    };

    document.addEventListener('DOMContentLoaded', 
    function() {
      var buttonEdit = document.createElement('button');
      var buttonSave = document.createElement('button');
      var buttonCancel = document.createElement('button');
      buttonEdit.textContent = 'Edit';
      buttonEdit.classList.add('edit');
      buttonSave.textContent = 'Save';
      buttonSave.classList.add('save');
      buttonCancel.textContent = 'Cancel';
      buttonCancel.classList.add('cancel');

      var editable = document.querySelectorAll('.editable p');
      Array.prototype.forEach.call(editable, function(single) {
        var edit = buttonEdit.cloneNode(true);
        var save = buttonSave.cloneNode(true);
        var cancel = buttonCancel.cloneNode(true);

        edit.addEventListener('click', onEditClick, false);
        save.addEventListener('click', onSaveClick, false);
        cancel.addEventListener('click', onCancelClick, false);

        single.parentNode.appendChild(edit);
        single.parentNode.appendChild(save);
        single.parentNode.appendChild(cancel);
      });
    }, false);

    </script>

我的 html 是 <div class='editable' data-id='123' data-post='/endpoint/save'> 端点保存是一个占位符,但我可以将其转换为表单吗,或者我将如何使用 php 选择它?将描述值插入数据库?

最佳答案

Datalists 的工作方式类似于 SELECT 列表,因为它们都采用选项标签来填充列表。虽然您使用的是 input type="text",但它的作用类似于选择元素,并且可以使用 Javascript/jQuery 访问值。

<input type="text" id="theContact" class="theContact" name="theContact" list="contactlist" size="35" placeholder="none" />
<datalist id="contactlist">
  <?php
    // Populate the options here, in a logic loop grabbing the data...
    echo '<option value="' . $value . '">' . $value . '</option>';
  ?>
</datalist>

您可以获取输入元素的值,或者获取您想要的“selected”属性。希望这可以帮助!请评分,谢谢。

关于javascript - 使用 php 进行数据列表选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30042710/

相关文章:

javascript - 在初始化时全屏渲染谷歌地图

javascript - 切换按钮状态

javascript - 输入动态填充时 AngularJS 表单验证失败

javascript - JS中可变时间段平滑增加数字

javascript - 如何在 ionic 中检查和请求存储权限?

php - 这段 Ajax/Javascript 代码有什么问题?

php - 如何阻止谷歌云 sql 破坏数据库表

javascript - JQuery 函数submit(),用于当用户在 input=text 中按 Enter 时,还提交位于同一表单中的 input=submit

javascript - 使用 jquery 跟踪复选框事件

javascript - 如何在页面onclick中添加动态ng-repeat