首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JQuery,是否创建具有升序ID的多个html元素?

JQuery,是否创建具有升序ID的多个html元素?
EN

Stack Overflow用户
提问于 2021-06-25 15:07:16
回答 4查看 63关注 0票数 4

下面是需要做的事情:

代码语言:javascript
运行
复制
<input type="text" id="main" placeholder="Put URL Here">

每次用户按回车键(或屏幕边上的按钮)时,我都需要Jquery来创建:

代码语言:javascript
运行
复制
<input type="hidden" id="url_1" readonly value='<-- input value from main-->'>
<!-- user adds another to #main -->
<input type="hidden" id="url_2" readonly value='<-- input value from main-->'>
<!-- etc -->

这是我到目前为止得到的(仅使用HTML)

代码语言:javascript
运行
复制
<figure class="mb-4">
<input type="text" name="" id="" placeholder="Image URL">
<button id="addimage">Add Image</button>
<button id="uploadimage_js">Upload Image</button>
</figure>

对于Upload image按钮,它将一个Image提交到我的PHP upload图像,然后返回图像的URL

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2021-06-25 15:22:01

这会将隐藏的输入附加到<form>标记的末尾。它还保留了一个urls数组,以防有用。对于这段代码,它显示了div中的数组。

代码语言:javascript
运行
复制
let urls = [], limit = 2, main, addButton, resetButton
window.addEventListener('load', () => {
  main = document.querySelector('#main'),
  addButton = document.querySelector('[data-url-saver]'),
  resetButton = document.querySelector('[data-url-reset]');
  addButton.addEventListener('click', () => saveURL())
  resetButton.addEventListener('click', () => reset())
  })

const saveURL = () => {
  let u = main.value;
  urls.push(u);
  let h = `<input type="hidden" data-url-hidden id="url_${urls.length}" readonly value=${u} />`
  document.querySelector('form').insertAdjacentHTML('beforeend', h);
  main.value = "";
  let de = document.querySelector('#debug');
  de.innerHTML = urls.join(", ");
  if (urls.length >= limit) {
    addButton.setAttribute('disabled', 'disabled');
    main.setAttribute('disabled', 'disabled');
    main.setAttribute('placeholder', 'Maximum URLs accepted')
  }
}

const reset = () => {
  urls = [];
  document.querySelectorAll('[data-url-hidden]').forEach(e => e.parentNode.removeChild(e));
  addButton.removeAttribute('disabled');
  main.removeAttribute('disabled');
  document.querySelector('#debug').innerHTML = "";
}
代码语言:javascript
运行
复制
<form>
  <input type="text" id="main" placeholder="Put URL Here">
  <button data-url-saver type='button'>enter</button>
  <button data-url-reset type='button'>reset</button>
</form>

<div id='debug'></div>

票数 2
EN

Stack Overflow用户

发布于 2021-06-25 15:27:51

为隐藏的urls创建div,如下所示

代码语言:javascript
运行
复制
<div id="urls"></div>

在jquery中尝试

代码语言:javascript
运行
复制
var counter = 1;
$('#main').keypress(function (e) {
 if(e.which== 13){  // enter key code
    var url = $('#main').val();
    $('#urls').append('<input type="hidden" id="url_'+ counter +'" readonly value="' + url + '" >');
    $('#main').val(''); //clearing the input
    counter++;
  }
});   
票数 2
EN

Stack Overflow用户

发布于 2021-06-25 15:28:43

如果你想添加升序URL,如果你有链接,那么你可以使用下面的函数。

代码语言:javascript
运行
复制
function addImage(){
  var link = document.querySelector('#main').value;
  var all_links = document.getElementById('all_urls');
  if (link.length > 0){
    code = `
    <input type="hidden" id="url_${all_links.children.length}" value="${link}"/>
    `
    all_links.innerHTML += code;
    console.log(document.getElementById('all_urls'))
  }
}
代码语言:javascript
运行
复制
<figure class="mb-4">
<input type="text" id="main" placeholder="Put URL Here">
<div id="all_urls">
<!--All the links are added here-->
</div>
<button id="addimage" onclick="addImage()">Add Image</button>
<button id="uploadimage_js">Upload Image</button>
</figure>

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68126840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档