www.webdeveloper.com
Results 1 to 12 of 12

Thread: [RESOLVED] Using Javascript Variable in document.form.name.etc

  1. #1
    Join Date
    Jun 2008
    Posts
    6

    resolved [RESOLVED] Using Javascript Variable in document.form.name.etc

    Hi

    I have the need to place a variable into document.form.name (no idea what this is called). Just wondering if this is possible.

    The scenario is i have a bunch of questions that are dynamically taken from a database. Each question has a number of radio buttons (which varies based on the question). The radio button group name is q plus a number that is sequentially incremented by 1 (i.e q1, q2, etc).

    What im trying (unsuccessfully) to do is something similar:
    Code:
    checkRadio = function(numQuestions)
    {
    
    for (var i=0, i<=numquestions, i++)
    {
    
    document.form.q+i.checked
    
    }
    Hope that makes sense.

  2. #2
    Join Date
    Aug 2007
    Posts
    3,767
    document.form["q"+i].checked

  3. #3
    Join Date
    Jun 2008
    Posts
    6
    awesome. Worked like a charm. Thanks heaps.

  4. #4
    Join Date
    Jun 2008
    Posts
    6
    How about for a specific button within the group:

    Code:
    //How it would look static
    document.form.q1[0].checked
    
    //What I'm trying to do
    document.form.q+variable[anotherVariable].checked
    
    //How I'm thinking should look
    document.form["q"+questionNo+[p]].checked
    Thanks

  5. #5
    Join Date
    Mar 2005
    Location
    Sydney, Australia
    Posts
    7,974
    document.form["q"+questionNo[p]].checked
    Stephen

  6. #6
    Join Date
    Jun 2008
    Posts
    6
    document.form["q"+questionNo[p]].checked
    Thanks for the reply felgall but i am getting an "is undefined" error using that format. Tried it with a static value:

    document.form["q"+questionNo[1]].checked

    but got the same error. (Error: document.form["q" + questionNo[1]] is undefined)

  7. #7
    Join Date
    Aug 2007
    Posts
    3,767
    Would you show some of the HTML you are trying to reference.

  8. #8
    Join Date
    Mar 2005
    Location
    Sydney, Australia
    Posts
    7,974
    Perhaps split it into two statements so you can see what part has the error.


    var x = "q"+questionNo[1];
    document.form[x].checked

    The error is almost certainly caused by questionNo[1] not containing what you expect it to. Are you sure you are not after the value in questionNo[0]
    Stephen

  9. #9
    Join Date
    Jun 2008
    Posts
    6
    I decided to show you the JavaScript as I have tested the other code and it definitely works.

    Code:
    checkRadio = function(currentCat, totalQ, currentQ)
    	{
    	
    	//Gets the first question of sub cat set
    	var startQ = totalQ - currentQ;
    	
    	//Variable used to allow next set of questions to show
    	var display = true;
    	
    	for (var i=0;i<=currentQ-1;i++)
    		{
    		
    		//Resets var for each question
    		var unChecked = 0;	
    		
    		//Sets the question number
    		var questionNo = startQ+i;
    		
    		//Gets the number of radio buttons
    		var questionLength = document.auditForm["q"+questionNo].length;
    		
    		for (var p=0;p<=questionLength-1;p++)
    			{
    	
    			if (document.auditForm["q"+questionNo[p]].checked == false)
    				{
    					
    				unChecked++;
    					
    				}
    				
    			}
    			
    			if (unChecked >= questionLength)
    				{
    				alert("Please select an answer for question "+questionNo);
    				display = false;
    				break;
    		
    				}	
    			
    		}
    	if (display == true)
    		{
    		displayNext(currentCat);
    		}
    	
    	}
    The problem i have is isolated to here:

    Code:
    if (document.auditForm["q"+questionNo[p]].checked == false)
    If I use a static radiogroup it works perfect i.e for question 1:

    Code:
    if (document.auditForm.q1[p].checked == false)
    If that doesnt help ill post the php/html

    Thanks Pete

  10. #10
    Join Date
    Aug 2007
    Posts
    3,767
    Try
    Code:
    if (document.auditForm["q"+questionNo][p].checked == false)

  11. #11
    Join Date
    Jun 2008
    Posts
    6
    Thanks Declan1991. After playing with different combos for about 30 mins that worked was just about to post it but you beat me to it :P.

    Thanks to all who posted all working perfect now.

  12. #12
    Join Date
    Apr 2013
    Posts
    1
    Hi,

    Could you please help me on this? I am having sikilar problem with TypeError: document.form1.elements[nf] is undefined, here is my code:

    function GetAverage(){
    sum=0;
    tot=0;
    n=1;
    x=0;
    nf="";
    for(i=0;i<document.form1.elements.length;i++){
    ele=document.form1.elements[i];
    if(ele.type=='text' && !isNaN(parseInt(ele.value))){
    if (parseInt(ele.value)!=0) {
    sum+=1;
    tot+=parseInt(ele.value);
    }
    x=n%7;
    nf="nf"+n;
    if (x==0) {
    if(sum!=0){
    prom=tot/sum;
    document.form1.elements[nf].value=prom; /* HERE WHERE I GET THE PROBLEM */
    sum=0;
    tot=0;
    }
    else{
    document.form1.elements[nf].value=0;
    }
    }
    n=++n;
    }
    }

    }

    Thank you

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center

"

"

X vBulletin 4.2.2 Debug Information

  • Page Generation 0.17730 seconds
  • Memory Usage 2,960KB
  • Queries Executed 15 (?)
More Information
Template Usage (34):
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_global_above_footer
  • (1)ad_global_below_navbar
  • (1)ad_global_header1
  • (1)ad_global_header2
  • (1)ad_navbar_below
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)ad_thread_first_post_content
  • (1)ad_thread_last_post_content
  • (6)bbcode_code
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)headinclude_bottom
  • (12)memberaction_dropdown
  • (1)navbar
  • (4)navbar_link
  • (1)navbar_moderation
  • (1)navbar_noticebit
  • (1)navbar_tabs
  • (2)option
  • (12)postbit
  • (12)postbit_onlinestatus
  • (12)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available (6):
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files (26):
  • ./showthread.php
  • ./global.php
  • ./includes/class_bootstrap.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/functions_navigation.php
  • ./includes/class_friendly_url.php
  • ./includes/class_hook.php
  • ./includes/class_bootstrap_framework.php
  • ./vb/vb.php
  • ./vb/phrase.php
  • ./includes/functions_facebook.php
  • ./includes/functions_calendar.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_notice.php
  • ./packages/vbattach/attach.php
  • ./vb/types.php
  • ./vb/cache.php
  • ./vb/cache/db.php
  • ./vb/cache/observer/db.php
  • ./vb/cache/observer.php 

Hooks Called (72):
  • init_startup
  • friendlyurl_resolve_class
  • init_startup_session_setup_start
  • database_pre_fetch_array
  • database_post_fetch_array
  • init_startup_session_setup_complete
  • global_bootstrap_init_start
  • global_bootstrap_init_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • load_show_variables
  • load_forum_show_variables
  • global_state_check
  • global_bootstrap_complete
  • global_start
  • style_fetch
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • strip_bbcode
  • friendlyurl_clean_fragment
  • friendlyurl_geturl
  • forumjump
  • cache_templates
  • cache_templates_process
  • template_register_var
  • template_render_output
  • fetch_template_start
  • fetch_template_complete
  • parse_templates
  • fetch_musername
  • notices_check_start
  • notices_noticebit
  • process_templates_complete
  • friendlyurl_redirect_canonical
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • memberaction_dropdown
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • build_navigation_data
  • build_navigation_array
  • check_navigation_permission
  • process_navigation_links_start
  • process_navigation_links_complete
  • set_navigation_menu_element
  • build_navigation_menudata
  • build_navigation_listdata
  • build_navigation_list
  • set_navigation_tab_main
  • set_navigation_tab_fallback
  • navigation_tab_complete
  • fb_like_button
  • showthread_complete
  • page_templates