PageSourceSearch

https://investor.lamresearch.com/js/wd_form.js

js lamresearch.com collected 2026-10-01 10:32:57 UTC 4,432 bytes, 170 lines download raw bytes

1function disable_submit(form, disable){
2	var objs = form.getElementsByTagName("INPUT");
3	if (objs) {
4		for (var i=0; i<objs.length; i++) {
5			if (objs[i].type == "submit")
6				objs[i].disabled = disable;
7		}
8	}
9	set_csrf_loaded();
10
11	setTimeout(() => { 
12		const customCaptcha = document.querySelector("#custom_captcha");
13		if (customCaptcha && !customCaptcha.innerHTML.trim()) { 
14			create_CustomCaptcha();
15		}
16	}, 50);
17}
18
19function check_required_fields(form, fields, email_fields, error_color, msg_input_required, msg_input_email, msg_required, msg_email) {
20	var old_errors = form.getElementsByClassName("wd_form_field_error");
21	for (k=old_errors.length-1; k>=0; --k){
22		var err = old_errors[k];
23		err.parentNode.removeChild(err);
24	}
25
26	if (form.skip_required_field_check)
27		return true;
28
29	var error_required = false;
30	var error_email = false;
31	var error_focus = false;
32
33	for (i=0; i<fields.length; i++){
34		var fieldname = fields[i];
35		var objs = document.getElementsByName(fieldname);
36		if (!objs)
37			continue;
38
39		var is_email = false;
40		for (j = 0; !is_email && j < email_fields.length; j++)
41			is_email = (email_fields[j] == fields[i]);
42
43		var required = true;
44		var ok = is_email;
45		var formObjs = new Array();
46		for (j = 0; j < objs.length; j++){
47			var inputObj = objs[j];
48
49			if (typeof inputObj.form == "undefined" || inputObj.form != form)
50				continue;
51
52			formObjs.push(inputObj);
53
54			inputObj.removeAttribute("aria-invalid");
55
56			var obj = inputObj;
57			var parent = obj.parentNode;
58			while (required && parent && parent != form) {
59				var attrib = parent.attributes.wd_ignore_required;
60				if (attrib && attrib.nodeValue == 1)
61					required = false;
62
63				obj = parent;
64				parent = obj.parentNode;
65			}
66
67			if (required) {
68				var type = inputObj.type;
69
70				switch (type){
71				case "text":
72				case "textarea":
73				case "password":
74				case "file":
75					if (is_email){
76						str = inputObj.value;
77						at = str.indexOf("@");
78						dot = str.indexOf(".");
79						strl = str.length;
80						if (at < 1 || at > strl-4 || dot < 0 || dot > strl-2) ok = false;
81					} else {
82						if (inputObj.value != "") ok = true;
83					}
84					break;
85
86				case "select-multiple":
87				case "select-one":
88					if (inputObj.selectedIndex > 0 || (inputObj.options[inputObj.selectedIndex].value != "" && inputObj.options[inputObj.selectedIndex].value != "0")) ok = true;
89					break;
90
91				case "checkbox":
92				case "radio":
93					if (inputObj.checked) ok = true;
94					break;
95
96				default:
97					ok = true;
98					break;
99				}
100			}
101		}
102
103		var border_color = "";
104		var border_width = "0px";
105		if (required && !ok && formObjs.length > 0){
106			if (is_email)
107				error_email = true;
108			else
109				error_required = true;
110			border_color = error_color;
111			border_width = "2px";
112		}
113
114		for (j = 0; j < formObjs.length; j++){
115			var obj = formObjs[j];
116			obj.style.borderColor = border_color;
117			var parent = obj.parentNode;
118			if (parent.tagName == "DIV" && parent.className == "wd_input_border"){
119				parent.style.borderColor = border_color;
120				parent.style.borderWidth = border_width;
121			}
122			if (!ok) {
123				if (!error_focus)
124					error_focus = obj;
125
126				var msg = is_email ? msg_input_email : msg_input_required;
127				while (parent && parent != form) {
128					if (parent.tagName == "DIV" && parent.className == "wd_form_field_input") {
129						attrib = document.createAttribute("aria-invalid");
130						attrib.nodeValue = "true";
131						inputObj.attributes.setNamedItem(attrib);
132						
133						if (msg) {
134							var err = document.createElement("DIV");
135							err.className = "wd_form_field_error";
136							attrib = document.createAttribute("role");
137							attrib.nodeValue = "alert";
138							err.attributes.setNamedItem(attrib);
139							if (inputObj.id) {
140								var err_id = inputObj.id+"_wd_error";
141								err.id = err_id;
142								attrib = document.createAttribute("aria-describedby");
143								attrib.nodeValue = err_id;
144								inputObj.attributes.setNamedItem(attrib);
145							}
146							var errmsg = document.createTextNode(msg);
147							err.appendChild(errmsg);
148							parent.insertBefore(err, obj);
149						}
150						break;
151					}
152					obj = parent;
153					parent = obj.parentNode;
154				}
155			}
156		}
157	}
158
159	errormsg = "";
160	if (error_required && msg_required){ errormsg += msg_required+"\n"; }
161	if (error_email && msg_email){ errormsg += msg_email+"\n"; }
162	if (errormsg != ""){
163		if (error_focus)
164			error_focus.focus();
165		alert (errormsg);
166		return false;
167	}
168	
169	return true;
170}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.