Jump to content

fert

Members
  • Posts

    1,114
  • Joined

  • Last visited

    Never

Posts posted by fert

  1. I'm working on a chat program that uses Javascript and Ajax.  One of its features is tabbed chatting and the problem lies in the code to generate the tab bar.

    function gen_buttons()
    {
    var arr;
    var x;
    var style;
    
    if(ajax.readyState==4)
    {
    	document.getElementById("chattabs").innerHTML="";
    	arr=ajax.responseText;
    	arr=arr.split(";");
    
    	for(x in arr)
    	{
    		chattabs[x]=arr[x];
    
    		if(x==current_tab)
    		{
    			style='style="background: black; color: white;"';
    		}
    		else
    		{
    			style="";
    		}
    		document.getElementById("chattabs").innerHTML+='<input type="button" '+style+' onClick="javascript:getchattext("'+chattabs[x]+'");" value="'+chattabs[x]+'"><input type="button" value="X" onClick="javascript:exitchat("'+chattabs[x]+'");">|';
    		alert(document.getElementById("chattabs").innerHTML);
    	}
    }
    }
    

    in the beginning arr holds a string that looks something like this

    ChatRoom1;ChatRoom2

    and then i split the string and

    arr[0]="ChatRoom1"

    arr[1]="ChatRoom2"

     

    Then the code generates the tab bar. but instead of looking like this

    <input type="button" style="background: black; color: white;" onClick="javascript:getchattext("ChatRoom1");" value="ChatRoom1">
    <input type="button" value="X" onClick="javascript:exitchat("ChatRoom1");">|
    <input type="button" onClick="javascript:getchattext("ChatRoom2");" value="ChatRoom2">
    <input type="button" value="X" onClick="javascript:exitchat("ChatRoom2");">|
    

    it looks like this (note the odd =", extra spaces and capitalization)

    <input style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: white;" onclick="javascript:getchattext(" chatroom1="" );="" value="ChatRoom1" type="button">
    <input value="X" onclick="javascript:exitchat(" chatroom1="" );="" type="button">|
    <input onclick="javascript:getchattext(" chatroom2="" );="" value="ChatRoom2" type="button">
    <input value="X" onclick="javascript:exitchat(" chatroom2="" );="" type="button">|
    

    getchatttext() switches to a new tab

    exitchat() closes a tab

     

    This must be the oddest Javascript bug i've ever encountered and I have no idea as to what is going wrong.

  2. #2: As far as my searches have turned up, there is no way to check if input is numeric... I need something like PHPs is_numeric().

    the function atoi in stdlib.h returns 0 if the input is not a number.

    #3: Within main() after answer() I want the program to "restart", so that the user can choose another option and go again, but I can't figure out how to do that.

    create an infinite loop like this

    for(;
    {
    //do something
    }
    

     

    #4: I'd like to make it so a user can enter "exit" at any time to exit the program.

    doing that would be kinda tricky, it's better to offer an option to exit and then use the exit() function in stdlib.h

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.