admin管理员组文章数量:1291324
id like to have an input box that a user can enter a search term into that gets passed to maybe a javascript function that then bines some url segments with the search term creating a full url. up until now its been working fine without a form around it, but i would like to add a form to it so users can just hit enter rather than clicking a submit button.
submit button code:
<a href="javascript: void(0)" onClick="this.href = i1 + document.getElementById('intranet').value + i3" target="_blank">
<div id="submit" class="out"
onMouseOver="document.getElementById('submit').className = 'over';"
onMouseOut="document.getElementById('submit').className = 'out';">
<span>Submit</span>
</div>
</a>
faulty form/input code:
<form action="" onSubmit="this.href = i1 + document.getElementById('intranet').value + i3; return false;" method="get" target="_blank">
<input type="text" id="intranet" size="15" value="Search Intranet.."
onFocus="document.getElementById('intranet').value = ''"
onBlur="document.getElementById('intranet').value = 'Search Intranet..'" / >
</form>
possible js function to create url:
<script language="javascript" type="text/javascript">
function urlGen(value)
{
var i1 = "seg1";
var i2 = document.getElementById('intranet').value;
var i3 = "seg2";
var fullURL = i1 + document.getElementById('intranet').value + i3;
return fullURL;
}
</script>
id like to have an input box that a user can enter a search term into that gets passed to maybe a javascript function that then bines some url segments with the search term creating a full url. up until now its been working fine without a form around it, but i would like to add a form to it so users can just hit enter rather than clicking a submit button.
submit button code:
<a href="javascript: void(0)" onClick="this.href = i1 + document.getElementById('intranet').value + i3" target="_blank">
<div id="submit" class="out"
onMouseOver="document.getElementById('submit').className = 'over';"
onMouseOut="document.getElementById('submit').className = 'out';">
<span>Submit</span>
</div>
</a>
faulty form/input code:
<form action="" onSubmit="this.href = i1 + document.getElementById('intranet').value + i3; return false;" method="get" target="_blank">
<input type="text" id="intranet" size="15" value="Search Intranet.."
onFocus="document.getElementById('intranet').value = ''"
onBlur="document.getElementById('intranet').value = 'Search Intranet..'" / >
</form>
possible js function to create url:
<script language="javascript" type="text/javascript">
function urlGen(value)
{
var i1 = "seg1";
var i2 = document.getElementById('intranet').value;
var i3 = "seg2";
var fullURL = i1 + document.getElementById('intranet').value + i3;
return fullURL;
}
</script>
Share
Improve this question
edited Jul 21, 2010 at 19:52
jake
asked Jul 21, 2010 at 19:32
jakejake
1892 gold badges4 silver badges14 bronze badges
3 Answers
Reset to default 3Maybe something like:
<form action="" onSubmit="urlGen(this);" method="get" target="_blank">
<input type="text" id="intranet" size="15" value="Search Intranet.."
onFocus="this.value = ''"
onBlur="this.value = 'Search Intranet..'" / >
</form>
function urlGen(f){
var i1 = 'urlSeg1';
var i2 = f.intranet.value;
var i3 = 'urlSef';
f.action = i1 + i2 + i3;
return true;
}
Use form's onSubmit event where set the appropriate data to the intranet's input - don't change this.href (form does not have such attribute). Remember though that JavaScript can be disabled at the client's side. Consider also placing hidden inputs into the form for i1 and i2 and do all bination logics at the server side.
<form action="" onSubmit="urlGen()">
...
</form>
<script language="javascript" type="text/javascript">
function urlGen()
{
var i1 = "urlSeg1";
var i2 = document.getElementById('intranet').value;
var i3 = "urlSef2";
document.getElementById('intranet').value = i1 + i2 + i3;
}
</script>
should also note that this is for a sidebar gadget and just needs to work with ie and server/client limitations is null. tried both of those methods (i think - still a beginner), but all that happens when i hit enter is the page reloads (target="_blank" opens new page of the same).
id like to do away with the submit button area entirely, but it is functional with that and without the form tags.
what i have right now:
<div id="row2">
<script language="javascript" type="text/javascript">
function urlGen(f)
{
var i1 = "seg1";
var i2 = f.intranet.value;
var i3 = "seg2";
var fullURL = i1 + i2 + i3;
f.action = i1 + i2 + i3;
return true;
}
</script>
<!-- Intranet Search -->
<form action="" onSubmit="urlGen(this)" method="post" target="_blank">
<input type="text" id="intranet" size="15" value="Search Intranet.."
onFocus="this.value = ''"
onBlur="this.value = 'Search Intranet..'" / >
</form>
<br><br>
<a href="javascript: void(0)" onClick="this.href = i1 + document.getElementById('intranet').value + i3" target="_blank">
<div id="submit" class="out"
onMouseOver="document.getElementById('submit').className = 'over';"
onMouseOut="document.getElementById('submit').className = 'out';">
<span>Submit</span>
</div>
</a>
</div>
本文标签: pass javascript variables to forminput fields as onsubmit href linkStack Overflow
版权声明:本文标题:pass javascript variables to forminput fields as onsubmit href link - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741504182a2382220.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论