在不提交表单的情况下获取表单文本字段的值

时间:2014-11-19 10:01:55

标签: javascript asp-classic

我的页面上有一个表单,希望能够在超链接中提交文本框值(partnumber)作为查询字符串,而无需提交表单本身?这可能吗 ? 我已经做了一些研究,并尝试了document.getElementById(“partnumber”)。value但是得到了错误“Object Required”。代码如下。

 <form id="form3" name="form3" method="post" action="formpost?rmaid=<%=rmaid%>">
    <input name="partnumber" type="text" id="partnumber" size="10" />
<a href="suggest.asp?partnumber=<%document.getElementById("partnumber").value%>"><span class="style11">Suggest Link</span></a>
<input name="invoice" type="text" id="invoice" size="15" />
</form>

我将新页面设置为在弹出窗口中打开并在数据库中列出一系列值,但我需要选择的值返回原始页面上的发票字段。我相信这可以通过JavaScript完成,但我是新手,有人可以帮忙吗?

对于那些希望传递值的人,我发现这个代码片段有效... 将其放在子窗口中

<script language="javascript"> 
function changeParent() { 
  window.opener.document.getElementById('Invoice').value="Value changed..";
  window.close();
} 
</script> 

<form> 
<input type=button onclick="javascript:changeParent()" value="Change opener's textbox's value.."> 
</form> 

1 个答案:

答案 0 :(得分:3)

对于输入字段,您应该向其添加OnChange。此事件应调用一个函数,然后设置链接的值。

你可以在这里看到一个例子(虽然它使用按钮而不是输入OnChange事件):http://www.java2s.com/Code/JavaScript/HTML/ChangeURLandtextofahyperlink.htm

修改:添加了一个说明解决方案的Stack Snippet。

function SetSuggestLink() {
    var suggest = document.getElementById('partnumber').value;
    document.getElementById('innerSpan').innerHTML = 
        "Suggest Link: suggest.asp?partnumber=" + suggest;
    document.getElementById('QueryLink').href = 
        "suggest.asp?partnumber=" + suggest;
}
.style11 {
  color:black;
}

.style2 {
  text-decoration:none;
}
<form id="form3" name="form3" method="post" action="formpost?rmaid=SomeValue">
    <input name="partnumber" type="text" id="partnumber" size="10" 
           OnChange="SetSuggestLink()" /> </br>
    <a id="QueryLink" class="style2" href="#">
      <span id="innerSpan" class="style11">Suggest Link</span>
    </a></br>
    <input name="invoice" type="text" id="invoice" size="15" />
</form>