我正在使用JavaScript和CSS根据用户输入制作贺卡.我需要能够将用户在表格中提交的信息填充为下面的卡.我分配了一些CSS,尽管这不是目前的问题.我那里有很多JavaScript骨头,但我不知道如何在提交后返回这些元素.

  let form = document.createElement('form');
form.setAttribute('id','card-form');



let nameInput = document.createElement('input');
nameInput.setAttribute('type','text');
nameInput.setAttribute('id','name-input');
nameInput.setAttribute('placeholder','Your Name');
nameInput.required = true;
form.appendChild(nameInput);





let messageTextArea = document.createElement('textarea');
messageTextArea.setAttribute('id','message-input');
messageTextArea.setAttribute('placeholder','Your Message');
messageTextArea.required = true;
form.appendChild(messageTextArea);


let imageInput = document.createElement('input');
imageInput.setAttribute('type','url');
imageInput.setAttribute('id','url-input');
imageInput.setAttribute('placeholder','Image or GIF URL');
imageInput.required = true;
form.appendChild(imageInput);



let submitButton = document.createElement('button');
submitButton.setAttribute('type','submit');
submitButton.innerText = 'Finish';
form.appendChild(submitButton);


document.body.appendChild(form);







let cardContainer = document.createElement('div');
cardContainer.setAttribute('id','card-container');
document.body.appendChild('cardContainer');
document.body.appendChild(form);
document.body.appendChild(div);

我try 简单地在提交时返回该项目,但这并没有返回任何东西

document.getElementById('card-form').addEventListener('submit', function (onSubmit) {
 document.getElementById('card-container');
 return div;
});

推荐答案

我看到了一些问题,

  • 您不会在表单提交后创建card元素本身并将其附加到cardContainer.

  • 停止表单提交的默认行为以防止页面重新加载.

      let form = document.createElement('form');
      form.setAttribute('id', 'card-form');
    
      // input for name
      let nameInput = document.createElement('input');
      nameInput.setAttribute('type', 'text');
      nameInput.setAttribute('id', 'name-input');
      nameInput.setAttribute('placeholder', 'Your Name');
      nameInput.required = true;
      form.appendChild(nameInput);
    
      // textarea for greeting msg
      let messageTextArea = document.createElement('textarea');
      messageTextArea.setAttribute('id', 'message-input');
      messageTextArea.setAttribute('placeholder', 'Your Message');
      messageTextArea.required = true;
      form.appendChild(messageTextArea);
    
      //input for image URL
      let imageInput = document.createElement('input');
      imageInput.setAttribute('type', 'url');
      imageInput.setAttribute('id', 'url-input');
      imageInput.setAttribute('placeholder', 'Image or GIF URL');
      imageInput.required = true;
      form.appendChild(imageInput);
    
      // submit button
      let submitButton = document.createElement('button');
      submitButton.setAttribute('type', 'submit');
      submitButton.innerText = 'Finish';
      form.appendChild(submitButton);
    
      // Append form to the document body
      document.body.appendChild(form);
    
      // Create card container
      let cardContainer = document.createElement('div');
      cardContainer.setAttribute('id', 'card-container');
      document.body.appendChild(cardContainer);
    
      // Event listener for form submission
      document.getElementById('card-form').addEventListener('submit', function (event) {
          event.preventDefault(); // Prevent default form submission behavior
    
          // Get form values
          let name = document.getElementById('name-input').value;
          let message = document.getElementById('message-input').value;
          let imageUrl = document.getElementById('url-input').value;
    
          // Create card element
          let card = document.createElement('div');
          card.classList.add('card'); // You can add CSS classes or styles here
          card.innerHTML = `
              <h2>${name}</h2>
              <p>${message}</p>
              <img src="${imageUrl}" alt="User Image">
          `;
    
          // Append card to the card container
          cardContainer.appendChild(card);
      });
    

Javascript相关问答推荐

在JavaScript中,是否有一种方法可以创建自定义thable,在等待某些代码后自动触发它?

为什么getRecord()会因为与_logger相关的错误而失败?(使用Hedera SDK)

Plotly热图:在矩形上zoom 后将zoom 区域居中

JQuery. show()工作,但. hide()不工作

React 17与React 18中的不同setState行为

将本机导航路由react 到导航栏中未列出的屏幕?

引用在HTMLAttributes<;HTMLDivElement>;中不可用

如何添加绘图条形图图例单击角形事件

如何在模块层面提供服务?

setcallback是什么时候放到macrotask队列上的?

如何根据当前打开的BottomTab Screeb动态加载React组件?

JS:XML insertBefore插入元素

基于props 类型的不同props ,根据来自接口的值扩展类型

当我在Reaction中创建一个输入列表时,我的输入行为异常

如何在Bootstrap中减少网格系统中单个div的宽度

<;img>;标记无法呈现图像

当标题被点击时,如何使内容出现在另一个div上?

基于产品ID更新条带产品图像的JavaScript命中错误

用于部分字符串的JavaScript数组搜索

JavaScript将字符串数字转换为整数