#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. Первый, который вы ввели, отлично сработал, большое спасибо!