Как я могу использовать tampermonkey для автоматического включения более длинных наборов чисел

#javascript #greasemonkey #tampermonkey

#javascript #greasemonkey #tampermonkey

Вопрос:

 <input type="text" name="turns" size="3" maxlength="4" value="99">
 

Максимальная длина равна 4. Мне интересно, что я мог бы добавить в tampermonkey, чтобы он автоматически менял максимальную длину на что-то большее, скажем, 6.

Комментарии:

1. Максимальная длина где?

2. Исправлено, код не отображался

3. Используйте {} инструмент в редакторе SO для разметки кода.

4. Перебирайте все input элементы и выполняйте element.setAttribute('maxlength', 6); .

5. И как бы вы сказали кому-нибудь сделать это, если бы они понятия не имели, что вы имеете в виду, ха-ха

Ответ №1:

Если бы я хотел сделать именно то, что вы просите, я бы сказал

 var i,myInputs = document.getElementsByName("turns");

for (i=0;i<myInputs.length;i  ) {
  if ( (myInputs[i].tagName.toLowerCase()=="input")
    amp;amp; (myInputs[i].type.toLowerCase()=="text")
  ) myInputs[i].setAttribute("maxlength","6");
}
 

Это много кода; это потому, что может быть более одного элемента с одинаковым именем, и они могут не быть <input> элементами, или они могут иметь тип, отличный от "text" . Если вас не волнуют потенциальные ошибки, просто скажите

 document.getElementsByName("turns")[0].maxLength = 6;
 

который будет работать нормально, если HTML, на который вы ссылаетесь, появляется на странице ровно один раз.

Комментарии:

1. Думая об этом, просто сделайте try{document.getElementsByName("turns").forEach(function(x){x.maxLength=6})} catch(e) {} .

2. Первый, который вы ввели, отлично сработал, большое спасибо!