Могу ли я добавить 2 (или более) атрибута имени в поле формы HTML? - PullRequest
0 голосов
/ 02 июня 2018

У меня есть модал, который показывает форму для добавления нового сообщения в блоге.Одно из полей ввода - это, конечно, тело сообщения.Поле выглядит следующим образом:

<div class="form-group">
      <label>Post Body</label>
      <textarea name="editor1" class="form-control" placeholder="Blog post"></textarea>
</div>

Атрибут имени editor1 используется для получения текстового редактора при добавлении сообщения в блоге, но я хочу добавить атрибут имени «body», не заменяя «editor1».Я могу это сделать?(И как?)

Ответы [ 2 ]

0 голосов
/ 03 июня 2018

Как вы уже заметили в предыдущих комментариях: элемент не может иметь более одного одинакового атрибута.Хотя я понятия не имею, почему вам нужно более одного [name], и MMC, вероятно, правильно, что это XY Проблема , я считаю, что вы хотите, чтобы строковое значение было связано с <textarea>.Если это так, вы можете использовать data-* атрибуты.

  • В следующей демонстрации есть 6 примеров:

Демо


var node = document.querySelector('.form-control');

/* Get data-name~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */
// jQuery data() method - get data-name
var data0 = $('.form-control').data("name");

console.log('data-name: ' + data0);

// JavaScript getAttribute() method - get data-mame
var data1 = node.getAttribute("data-name");

console.log('data-name: ' + data1);

// JavaScript dataset property - get data-name
var data2 = node.dataset.name;

console.log('data-name: ' + data2);

/* Set data-name~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */
// jQuery data() method - set data-name to "field"
$('.form-control').data("name", "field");
var data0 = $('.form-control').data("name");
console.log('data-name: ' + data0);

// JavaScript setAttribute() method - set data-name
node.setAttribute('data-name', 'field');
var data1 = node.getAttribute("data-name");
console.log('data-name: ' + data1);

// JavaScript dataset property - set data-name
node.dataset.name = "field";
var data2 = node.dataset.name;
console.log('data-name: ' + data2);
<fieldset class="form-group">
  <label>Post Body</label>
  <textarea name="editor1" data-name="body" class="form-control" placeholder="Blog post"></textarea>
</fieldset>



<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
0 голосов
/ 02 июня 2018

Нет!Вы можете просто поменять «editor1» на «body» или использовать его таким образом, отметив, где это необходимо в вашем скрипте обработки.

...