Próbuję napisać małą walidację JSbiblioteka, dla zabawy i do nauki JS. pomysł polega na zapętleniu elementów w znaczniku formularza i sprawdzeniu, czy element wejściowy jest prawidłowy, na podstawie innych niestandardowych atrybutów.
utknąłem teraz przy użyciu elementu do wywołania funkcji w tym samym „prototypie”
jest to oparte na samouczku, który próbuję opracować, daj mi znać, jeśli zasady SE wymagają podania źródła tego kodu
kod zostanie wywołany z html doc przy użyciu tej funkcji
<script type="text/javascript">
function processForm() {
_("form1").validate();
}
</script>
to jest kod lib:
function _(id) {
if (id) {
if (window === this) {
return new _(id);
}
// We"re in the correct object scop:
// Init our element object and return the object
this.e = document.getElementById(id);
return this;
} else {
return "NO ID PARAM WAS GIVEN";
}
}
_.prototype = {
validate :function () {
try {
var elem = this.e.elements;
for(var i = 0; i < elem.length; i++){
//alert(elem[i].getAttribute("id"));
// STUCK HERE, how to call the bgcolor function of this prototype
so i can change the bgcolor for the current elem of the loop ?
}
}
catch(err)
{
alert(err.message);
}
},
bgcolor: function (color) {
this.e.style.background = color;
return this;
},
};
Odpowiedzi:
1 dla odpowiedzi № 1Być może coś takiego:
for (var i = 0; i < elem.length; i++){
this.bgcolor(elem[i], "red");
}
i
bgcolor: function (el, color) {
el.style.background = color;
return this;
}
a może opcjonalny element domyślnie ustawiony na this
, synchronizując z istniejącym kodem, który działa na samym formularzu.
bgcolor: function (color, el) {
el = el || this;
el.style.background = color;
return this;
}