Javascript onChange if field1 = xxx then change field2 = yyy

I

ibizara

if name="Joe1" echo "(e-mail address removed)" to email
if name="Joe2" echo "(e-mail address removed)" to email

input type="textbox" id="name"
input type="textbox" id="email"

-----------------------------------------------------------------------------

I am trying to achieve the above but so far with no luck :(

Would anyone be able to help ?

i b i z a _ r a v e @ h o t m a i l . c o m

Many Thanks in advanced !!
 
E

Evertjan.

wrote on 30 okt 2007 in comp.lang.javascript:
if name="Joe1" echo "(e-mail address removed)" to email
if name="Joe2" echo "(e-mail address removed)" to email

input type="textbox" id="name"
input type="textbox" id="email"

------

I am trying to achieve the above but so far with no luck :(

Would anyone be able to help ?

No, as this is not javascript.

Please ask in the NG that accomodates that language,

or be more explicit and show correct code and html.
 
I

ibizara

Sorry I didn't know the javascript for my original message.

The below** is an example of onChange to UpperCase would it be
possible to use the code for*

---

*

|-----------------|
Textbox1 | Joe |
|-----------------|

|-----------------|
Textbox2 | (e-mail address removed) |
|-----------------|

After you type Joe in Textbox1 it automatically fills Textbox2 with
(e-mail address removed) ??

---

**

<html>
<head>
<script type="text/javascript">
function upperCase(x)
{
var y=document.getElementById(x).value
document.getElementById(x).value=y.toUpperCase()
}
</script>
</head><body>Enter your name:
<input type="text" id="fname"
onchange="upperCase(this.id)"></body>
</html>
 
I

ibizara

<html>
<head>
<script type="text/javascript">
function modify(orig){
document.myForm.that.value='that'
}
</script>
</head><body>
<form name="myForm">
This:<input type="text" name="this" id="this"
onkeyup="this.value=this.value;modify(this)"><br>
That:<input type="text" name="that" id="that"
onkeyup="this.value=this.value;modify(this)">
</body>
</html>
</form>

---

Many thanks a lot closer to perfection!! :)

Would it be easy to add a var ?

If 'this' = 'jason'
Change 'that' to '(e-mail address removed)'

If 'this' = 'bob'
Change 'that' to '(e-mail address removed)'

etc...
 
I

ibizara

ibizara said the following on 11/19/2007 8:47 AM:
I guess you can't fathom the ability to quote what you are replying to?
Sorry!

Maybe you should have tested what I posted before you butchered it up
and then reposted asking to make it do what it did to start with.

Okay I did butcher it... I'm just playing with it to see what I can
do...
<form name="myForm" ...>
<textarea onkeyup="this.value=this.value.toUpperCase();modify(this)">
</textarea>
<textarea name="that"></textarea>
</form>
function modify(orig){
document.myForm.that.value='(e-mail address removed)'
}

Works great but I need to mod it so that if a "certain word" not "any
word" is typed.

At present if anything is typed in (x) then autofill (y) with (z)...

Would like if a certain word is typed in (x) then auto fill (y) with a
var from (z)

z :
Jason = (e-mail address removed)
David = (e-mail address removed)
James = (e-mail address removed)
 
I

ibizara

Many, Many Thanks to "Randy Webb" !!

Finished Result:
================
index.php
email.js
actb.js
search_suggestions.php

(Autofill text with autofill field)

--- START index.php ---

<html><head>
<script language="javascript" type="text/javascript" src="email.js"></
script>
<script language="javascript" type="text/javascript" src="actb.js"></
script>
<script language="javascript" type="text/javascript"
src="search_suggestions.php"></script>
<body>
<form name="contactform" method="post" enctype="multipart/form-data"
action="data/index.php">
<input name="name" type="text" id="name" size="40" maxlength="40"
onfocus="actb(this,event,namearray);this.value=this.value;modify(this);"
autocomplete="off" />
<input name="email" type="text" id="email" size="40" maxlength="40"
onfocus="actb(this,event,emailarray);" autocomplete="off" />
</form></body></html>

--- END index.php ---

--- START email.js ---

var theNames = {
"Jason Davey":"(e-mail address removed)",
"Ian Doe":"(e-mail address removed)"
}

function modify(orig){
var lookup = theNames[orig.value]
if(lookup){
document.contactform.email.value=lookup
}
else{
document.contactform.email.value=""
}
}

--- END email.js ---

--- START actb.js ---

function getCaretEnd(obj){
if(typeof obj.selectionEnd!="undefined"){
return obj.selectionEnd;
}else if(document.selection&&document.selection.createRange){
var M=document.selection.createRange();
var Lp=obj.createTextRange();
Lp.setEndPoint("EndToEnd",M);
var rb=Lp.text.length;
if(rb>obj.value.length){
return-1;
}
return rb;
}
}
function getCaretStart(obj){
if(typeof obj.selectionStart!="undefined"){
return obj.selectionStart;
}else if(document.selection&&document.selection.createRange){
var M=document.selection.createRange();
var Lp=obj.createTextRange();
Lp.setEndPoint("EndToStart",M);
var rb=Lp.text.length;
if(rb>obj.value.length){
return-1;
}
return rb;
}
}
function setCaret(obj,l){
obj.focus();
if(obj.setSelectionRange){
obj.setSelectionRange(l,l);
}else if(obj.createTextRange){
m=obj.createTextRange();
m.moveStart('character',l);
m.collapse();
m.select();
}
}
String.prototype.addslashes=function(){
return this.replace(/(["\\\.\|\[\]\^\*\+\?\$\(\)])/g,'\\$1');
}
String.prototype.trim=function(){
return this.replace(/^\s*(\S*(\s+\S+)*)\s*$/,"$1");
};
function actb(obj,evt,ca){
var actb_timeOut=10000;
var actb_lim=15;
var actb_firstText=true;
var actb_mouse=true;
var actb_delimiter=new Array(';',' ');
var actb_bgColor='#f9f4e6';
var actb_textColor='#342a1f';
var actb_hColor='#ecc076';
var actb_fFamily='Arial';
var actb_fSize='0.9em';
var actb_hStyle='text-decoration:underline;font-weight:bold;';
var actb_delimwords=new Array();
var actb_cdelimword=0;
var actb_delimchar=new Array();
var actb_keywords=new Array();
var actb_display=false;
var actb_pos=0;
var actb_total=0;
var actb_curr=null;
var actb_rangeu=0;
var actb_ranged=0;
var actb_bool=new Array();
var actb_pre=0;
var actb_toid;
var actb_tomake=false;
var actb_getpre="";
var actb_mouse_on_list=true;
var actb_kwcount=0;
var actb_caretmove=false;
actb_keywords=ca;
actb_curr=obj;
var oldkeydownhandler=document.onkeydown;
var oldblurhandler=obj.onblur;
var oldkeypresshandler=obj.onkeypress;
document.onkeydown=actb_checkkey;
obj.onblur=actb_clear;
obj.onkeypress=actb_keypress;
function actb_clear(evt){
if(!evt)evt=event;
document.onkeydown=oldkeydownhandler;
actb_curr.onblur=oldblurhandler;
actb_curr.onkeypress=oldkeypresshandler;
actb_removedisp();
}
function actb_parse(n){
if(actb_delimiter.length>0){
var t=actb_delimwords[actb_cdelimword].trim().addslashes();
var plen=actb_delimwords[actb_cdelimword].trim().length;
}else{
var t=actb_curr.value.addslashes();
var plen=actb_curr.value.length;
}
var tobuild='';
var i;
if(actb_firstText){
var re=new RegExp("^"+t,"i");
}else{
var re=new RegExp(t,"i");
}
var p=n.search(re);
for(i=0;i<p;i++){
tobuild+=n.substr(i,1);
}
tobuild+="<font style='"+(actb_hStyle)+"'>"
for(i=p;i<plen+p;i++){
tobuild+=n.substr(i,1);
}
tobuild+="</font>";
for(i=plen+p;i<n.length;i++){
tobuild+=n.substr(i,1);
}
return tobuild;
}
function curTop(){
actb_toreturn=0;
obj=actb_curr;
while(obj){
actb_toreturn+=obj.offsetTop;
obj=obj.offsetParent;
}
return actb_toreturn;
}
function curLeft(){
actb_toreturn=0;
obj=actb_curr;
while(obj){
actb_toreturn+=obj.offsetLeft;
obj=obj.offsetParent;
}
return actb_toreturn;
}
function actb_generate(){
if(document.getElementById('tat_table'))
{actb_display=false;document.body.removeChild(document.getElementById('tat_table'));}
if(actb_kwcount==0){
actb_display=false;
return;
}
a=document.createElement('table');
a.cellSpacing='1px';
a.cellPadding='2px';
a.style.position='absolute';
a.style.top=eval(curTop(actb_curr) + actb_curr.offsetHeight + 20) +
"px";
a.style.left=curLeft(actb_curr) + "px";
a.style.backgroundColor=actb_bgColor;
a.style.border='1px solid #342a1f';
a.id='tat_table';
document.body.appendChild(a);
var i;
var first=true;
var j=1;
if(actb_mouse){
a.onmouseout=actb_table_unfocus;
a.onmouseover=actb_table_focus;
}
var counter=0;
for(i=0;i<actb_keywords.length;i++){
if(actb_bool){
counter++;
r=a.insertRow(-1);
if(first&&!actb_tomake){
r.style.backgroundColor=actb_hColor;
first=false;
actb_pos=counter;
}else if(actb_pre==i){
r.style.backgroundColor=actb_hColor;
first=false;
actb_pos=counter;
}else{
r.style.backgroundColor=actb_bgColor;
}
r.id='tat_tr'+(j);
c=r.insertCell(-1);
c.style.color=actb_textColor;
c.style.fontFamily=actb_fFamily;
c.style.fontSize=actb_fSize;
c.innerHTML=actb_parse(actb_keywords);
c.id='tat_td'+(j);
c.setAttribute('pos',j);
if(actb_mouse){
c.onclick=actb_mouseclick;
c.onmouseover=actb_table_highlight;
}
j++;
}
if(j-1==actb_lim&&j<actb_total){
r=a.insertRow(-1);
r.style.backgroundColor=actb_bgColor;
c=r.insertCell(-1);
c.style.color=actb_textColor;
c.style.fontFamily='arial narrow';
c.style.fontSize=actb_fSize;
c.align='center';
c.innerHTML='\\/';
if(actb_mouse){
c.onclick=actb_mouse_down;
}
break;
}
}
actb_rangeu=1;
actb_ranged=j-1;
actb_display=true;
if(actb_pos<=0)actb_pos=1;
}
function actb_remake(){
document.body.removeChild(document.getElementById('tat_table'));
a=document.createElement('table');
a.cellSpacing='1px';
a.cellPadding='2px';
a.style.position='absolute';
a.style.top=eval(curTop()+actb_curr.offsetHeight)+"px";
a.style.left=curLeft()+"px";
a.style.backgroundColor=actb_bgColor;
a.id='tat_table';
if(actb_mouse){
a.onmouseout=actb_table_unfocus;
a.onmouseover=actb_table_focus;
}
document.body.appendChild(a);
var i;
var first=true;
var j=1;
if(actb_rangeu>1){
r=a.insertRow(-1);
r.style.backgroundColor=actb_bgColor;
c=r.insertCell(-1);
c.style.color=actb_textColor;
c.style.fontFamily='arial narrow';
c.style.fontSize=actb_fSize;
c.align='center';
c.innerHTML='/\\';
if(actb_mouse){
c.onclick=actb_mouse_up;
}
}
for(i=0;i<actb_keywords.length;i++){
if(actb_bool){
if(j>=actb_rangeu&&j<=actb_ranged){
r=a.insertRow(-1);
r.style.backgroundColor=actb_bgColor;
r.id='tat_tr'+(j);
c=r.insertCell(-1);
c.style.color=actb_textColor;
c.style.fontFamily=actb_fFamily;
c.style.fontSize=actb_fSize;
c.innerHTML=actb_parse(actb_keywords);
c.id='tat_td'+(j);
c.setAttribute('pos',j);
if(actb_mouse){
c.onclick=actb_mouseclick;
c.onmouseover=actb_table_highlight;
}
j++;
}else{
j++;
}
}
if(j>actb_ranged)break;
}
if(j-1<actb_total){
r=a.insertRow(-1);
r.style.backgroundColor=actb_bgColor;
c=r.insertCell(-1);
c.style.color=actb_textColor;
c.style.fontFamily='arial narrow';
c.style.fontSize=actb_fSize;
c.align='center';
c.innerHTML='\\/';
if(actb_mouse){
c.onclick=actb_mouse_down;
}
}
}
function actb_goup(){
if(!actb_display)return;
if(actb_pos==1)return;
document.getElementById('tat_tr'+actb_pos).style.backgroundColor=actb_bgColor;
actb_pos--;
if(actb_pos<actb_rangeu)actb_moveup();
document.getElementById('tat_tr'+actb_pos).style.backgroundColor=actb_hColor;
if(actb_toid)clearTimeout(actb_toid);
if(actb_timeOut>0)actb_toid=setTimeout(function()
{actb_mouse_on_list=0;actb_removedisp();},actb_timeOut);
}
function actb_godown(){
if(!actb_display)return;
if(actb_pos==actb_total)return;
document.getElementById('tat_tr'+actb_pos).style.backgroundColor=actb_bgColor;
actb_pos++;
if(actb_pos>actb_ranged)actb_movedown();
document.getElementById('tat_tr'+actb_pos).style.backgroundColor=actb_hColor;
if(actb_toid)clearTimeout(actb_toid);
if(actb_timeOut>0)actb_toid=setTimeout(function()
{actb_mouse_on_list=0;actb_removedisp();},actb_timeOut);
}
function actb_movedown(){
actb_rangeu++;
actb_ranged++;
actb_remake();
}
function actb_moveup(){
actb_rangeu--;
actb_ranged--;
actb_remake();
}
function actb_mouse_down(){
document.getElementById('tat_tr'+actb_pos).style.backgroundColor=actb_bgColor;
actb_pos++;
actb_movedown();
document.getElementById('tat_tr'+actb_pos).style.backgroundColor=actb_hColor;
actb_curr.focus();
actb_moue_on_list=0;
if(actb_toid)clearTimeout(actb_toid);
if(actb_timeOut>0)actb_toid=setTimeout(function()
{actb_mouse_on_list=0;actb_removedisp();},actb_timeOut);
}
function actb_mouse_up(evt){
if(!evt)evt=event;
if(evt.stopPropagation){
evt.stopPropagation();
}else{
evt.cancelBubble=true;
}
document.getElementById('tat_tr'+actb_pos).style.backgroundColor=actb_bgColor;
actb_pos--;
actb_moveup();
document.getElementById('tat_tr'+actb_pos).style.backgroundColor=actb_hColor;
actb_curr.focus();
actb_moue_on_list=0;
if(actb_toid)clearTimeout(actb_toid);
if(actb_timeOut>0)actb_toid=setTimeout(function()
{actb_mouse_on_list=0;actb_removedisp();},actb_timeOut);
}
function actb_mouseclick(evt){
if(!evt)evt=event;
if(!actb_display)return;
actb_mouse_on_list=0;
actb_pos=this.getAttribute('pos');
actb_penter();
}
function actb_table_focus(){
actb_mouse_on_list=1;
}
function actb_table_unfocus(){
actb_mouse_on_list=0;
if(actb_toid)clearTimeout(actb_toid);
if(actb_timeOut>0)actb_toid=setTimeout(function()
{actb_mouse_on_list=0;actb_removedisp();},actb_timeOut);
}
function actb_table_highlight(){
actb_mouse_on_list=1;
document.getElementById('tat_tr'+actb_pos).style.backgroundColor=actb_bgColor;
actb_pos=this.getAttribute('pos');
while(actb_pos<actb_rangeu)actb_moveup();
while(actb_pos>actb_ranged)actb_mousedown();
document.getElementById('tat_tr'+actb_pos).style.backgroundColor=actb_hColor;
if(actb_toid)clearTimeout(actb_toid);
if(actb_timeOut>0)actb_toid=setTimeout(function()
{actb_mouse_on_list=0;actb_removedisp();},actb_timeOut);
}
function actb_insertword(a){
if(actb_delimiter.length>0){
str='';
l=0;
for(i=0;i<actb_delimwords.length;i++){
if(actb_cdelimword==i){
str+=a;
l=str.length;
}else{
str+=actb_delimwords;
}
if(i!=actb_delimwords.length-1){
str+=actb_delimchar;
}
}
actb_curr.value=str;
setCaret(actb_curr,l);
}else{
actb_curr.value=a;
}
actb_mouse_on_list=0;
actb_removedisp();
}
function actb_penter(){
if(!actb_display)return;
actb_display=false;
var word='';
var c=0;
for(var i=0;i<=actb_keywords.length;i++){
if(actb_bool)c++;
if(c==actb_pos){
word=actb_keywords;
break;
}
}
actb_insertword(word);
}
function actb_removedisp(){
if(!actb_mouse_on_list){
actb_display=false;
if(document.getElementById('tat_table'))
{document.body.removeChild(document.getElementById('tat_table'));}
if(actb_toid)clearTimeout(actb_toid);
}
}
function actb_keypress(){
return!actb_caretmove;
}
function actb_checkkey(evt){
if(!evt)evt=event;
a=evt.keyCode;
caret_pos_start=getCaretStart(actb_curr);
actb_caretmove=0;
switch(a){
case 38:
actb_goup();
actb_caretmove=1;
return false;
break;
case 40:
actb_godown();
actb_caretmove=1;
return false;
break;
case 13:case 9:
actb_penter();
actb_caretmove=1;
return false;
break;
default:
setTimeout(function(){actb_tocomplete(a)},50);
break;
}
}
function actb_tocomplete(kc){
if(kc==38||kc==40||kc==13)return;
var i;
if(actb_display){
var word=0;
var c=0;
for(var i=0;i<=actb_keywords.length;i++){
if(actb_bool)c++;
if(c==actb_pos){
word=i;
break;
}
}
actb_pre=word;
}else{actb_pre=-1};
if(actb_curr.value==''){
actb_mouse_on_list=0;
actb_removedisp();
return;
}
if(actb_delimiter.length>0){
caret_pos_start=getCaretStart(actb_curr);
caret_pos_end=getCaretEnd(actb_curr);
delim_split='';
for(i=0;i<actb_delimiter.length;i++){
delim_split+=actb_delimiter;
}
delim_split=delim_split.addslashes();
delim_split_rx=new RegExp("(["+delim_split+"])");
c=0;
actb_delimwords=new Array();
actb_delimwords[0]='';
for(i=0,j=actb_curr.value.length;i<actb_curr.value.length;i++,j--){
if(actb_curr.value.substr(i,j).search(delim_split_rx)==0){
ma=actb_curr.value.substr(i,j).match(delim_split_rx);
actb_delimchar[c]=ma[1];
c++;
actb_delimwords[c]='';
}else{
actb_delimwords[c]+=actb_curr.value.charAt(i);
}
}
var l=0;
actb_cdelimword=-1;
for(i=0;i<actb_delimwords.length;i++){
if(caret_pos_end>=l&&caret_pos_end<=l+actb_delimwords.length){
actb_cdelimword=i;
}
l+=actb_delimwords.length+1;
}
var t=actb_delimwords[actb_cdelimword].addslashes().trim();
}else{
var t=actb_curr.value.addslashes();
}
if(actb_firstText){
var re=new RegExp("^"+t,"i");
}else{
var re=new RegExp(t,"i");
}
actb_total=0;
actb_tomake=false;
actb_kwcount=0;
for(i=0;i<actb_keywords.length;i++){
actb_bool=false;
if(re.test(actb_keywords)){
actb_total++;
actb_bool=true;
actb_kwcount++;
if(actb_pre==i)actb_tomake=true;
}
}
if(actb_toid)clearTimeout(actb_toid);
if(actb_timeOut>0)actb_toid=setTimeout(function()
{actb_mouse_on_list=0;actb_removedisp();},actb_timeOut);
actb_generate();
}
}

--- END actb.js ---

--- START search_suggestions.php ---

<?php

// Collect all the words to build the suggestion list out of.
$string = ucfirst( '
"Jason Davey"
"Ian Doe"
' );

// Separate phrases (titles) into suggestion words.
$rawkeywords = preg_split('/\s*[\"]\s*/i', $string);

// Remove duplicates (including uc/lc).
$keywords = array_unique ( $rawkeywords );

// Sort them alphabettically.
sort( $keywords );

//Build the JavaScript array.
echo 'var namearray = new Array( ';

foreach ($keywords as $value) {
echo "'$value', "; }

echo "'' );";

// Collect all the words to build the suggestion list out of.
$string2 = strtolower( '
"(e-mail address removed)"
"(e-mail address removed)"
' );

// Separate phrases (titles) into suggestion words.
$rawkeywords2 = preg_split('/\s*[\"]\s*/i', $string2);

// Remove duplicates (including uc/lc).
$keywords2 = array_unique ( $rawkeywords2 );

// Sort them alphabettically.
sort( $keywords2 );

//Build the JavaScript array.
echo 'var emailarray = new Array( ';

foreach ($keywords2 as $value2) {
echo "'$value2', "; }

echo "'' );";

?>

--- END search_suggestions.php ---
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,013
Latest member
KatriceSwa

Latest Threads

Top