我有一个非常简单的Javascript工作正常onLoad
,但我需要它才能工作onChange
。
我的剧本;
<form action="" method="post" name="product_search">
<p><strong>Existing Part Number:</strong>
<input name="v_prodref" type="text" id="v_prodref" size="25" maxlength="25" onChange="searchValue()">
<input type="text" name="prodref" id="prodref">
<input type="submit" name="search_Submit" id="search_Submit" value="Submit">
</p>
<div>
<%=(rs_ProductCheck.Fields.Item("prodref").Value)%>
// <%=(rs_ProductCheck.Fields.Item("proddesc").Value)%></div>
<script>
function searchValue() {
var add = "NW";
var c_ProdRef = document.getElementById('v_prodref');
if(c_ProdRef.search(/GST/i) == -1) {
n_ProdRef = c_ProdRef.concat(add) }
else {
n_ProdRef = c_ProdRef.replace(/GST/i,"NWGST") }
document.getElementById("prodref").value = n_ProdRef;
}
</script>
</form>
所以,我在第一个文本框中输入了一个部件号,我想让我的javascript运行并在第二个文本框中输入新值,但它似乎不起作用。
我错过了什么?
答案 0 :(得分:0)
search
上不存在 HTMLInputElement
。您需要使用c_ProdRef.value.search
。
(实际上,由于你在许多地方使用它作为字符串,从不作为输入,你可能打算将c_ProdRef
定义为var document.getElementById('v_prodref').value
)
你也会在加载时看到这个错误。
答案 1 :(得分:0)
你想要onkeyup
如果它完全正常onLoad
,并且你想开始在文本框1中键入内容并运行javascript,那么你不想要onchange
onchange
在聚焦元素模糊后触发
onkeyup
触发
答案 2 :(得分:0)
感谢大家的帮助。经过一些调整后,我设法让代码正常工作。
function myFunction() {
var add = "NW";
var c_ProdRef = document.getElementById('v_prodref').value;
if (c_ProdRef.search(/GST/i) == -1) {
n_ProdRef = c_ProdRef.concat(add)
} else {
n_ProdRef = c_ProdRef.replace(/GST/i, "NWGST")
}
document.getElementById("prodref").value = n_ProdRef;
}
除了onKeyup
的@indubitablee建议并指定我的第一个文本字段的.value
外,这一切都有效。