The entered dijit value doesn't display the Json string, need solution thanks million

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • mgdvicky
    New Member
    • Feb 2014
    • 12

    The entered dijit value doesn't display the Json string, need solution thanks million

    Code:
    [B]MY HTML CODE:[/B]
    <script>
    require(["dojo/parser", "dojo/json",
    				         "dijit/form/FilteringSelect",
    				         "dijit/form/TextBox",
    				         "dijit/form/Textarea",
    				         "dijit/form/Button",
    				         "dijit/form/ValidationTextBox",
    				         "dijit/form/DateTextBox"]);
    		</script>	
    	</head>
    			<body class="claro" bgcolor="pink" onload='disablet()'>
    				<h1>PRODUCT MASTER</h1>
    				<div class="grouping" id="divid">
    				
    				<label for="pcode">PRODUCT CODE:</label>
    				<input type="text" name="pname" id="product code" value="" required="required"
        			data-dojo-type="dijit/form/ValidationTextBox" data-dojo-props="regExp:'[^\d{1,10}$]+', invalidMessage:'Invalid enter only number between 1-10.'" />
                    <br>
    				
    				<label for="pname">PRODUCT NAME:</label>
    				<input type="text" name="pname" id="product name" value="" required="required"
        			data-dojo-type="dijit/form/ValidationTextBox" data-dojo-props="regExp:'[a-zA-z]+', invalidMessage:'Invalid enter only Text.'" />
                    <br>
     			
                    <label for="ptype">PRODUCT TYPE:</label>
    				<select data-dojo-type="dijit/form/FilteringSelect" id="product type" name="ptype">
        				<option value="rm">RAW MATERIALS</option>
        				<option value="ip">INTERMEDIATE OPTION</option>
        				<option value="fp">FINISHED PRODUCT</option>
        			</select>
       				<br>
       				
    				<label for="unit">UNIT MEASUREMENT:</label>
    			    <select data-dojo-type="dijit/form/FilteringSelect" id="unit measurement" name="unit">
        				<option value="kg">KG</option>
     			   		<option value="G">G</option>
     			   		<option value="t">TONE</option>
     			   		<option value="m">Meter</option>
    			    </select>
                    <br>
                    
                    <label for="create">CREATED DATE:</label>
         			<input type="text" name="CDATE" id="created date" value="1992-08-20" required="required"
        			data-dojo-type="dijit/form/DateTextBox"/>
                    <br>
                    </div>
    					<button id="UPDATE" value="UPDATE" onclick="UpdateJSON()">UPDATE</button>
    					<h1>JSON</h1>
    		<span id="spnJSON"></span>
    	</body>
    </html>
    MY JAVASCRIPT CODE:
    Code:
    function UpdateJSON() {
    	
                
    	var json = {PRODUCTCODE : 2, PRODUCTNAME : 'dd', PRODUCTTYPE : 'fg', UNITMEASUREMENT : 'g', CREATEDDATE : '2007-12-05'};
    	
                 
                var purchase = eval('(' + json + ')');
                purchase.PRODUCTCODE=dijit.byId("product code").value;
                purchase.PRODUCTNAME=dijit.byId("product name").value;
                purchase.PRODUCTTYPE=dijit.byId("product type").value;
                purchase.UNITMEASUREMENT=dijit.byId("unit measurement").value;
                purchase.CREATEDDATE=dijit.byId("created date").value;
                        
                json = JSON.stringify(purchase);
                dojo.byId("spnJSON").innerHTML = json; 
            }
    Last edited by Dormilich; Feb 20 '14, 02:48 PM. Reason: fixed code tags
  • Dormilich
    Recognized Expert Expert
    • Aug 2008
    • 8694

    #2
    problem #1, the "JSON" (line #4) is not a JSON string but already a JavaScript object (and it wouldn’t be valid JSON as well).

    problem #2, line #8 - #12 make the original object obsolete (overwriting all values)

    issue #3, if JavaScript encounters an error, you will find it listed in the error console (F12).

    Comment

    • mgdvicky
      New Member
      • Feb 2014
      • 12

      #3
      Thanks Dormilich, I'm new to JSON and DOJO, Could you please so kind and modify my coding? Thanks in advance... :)

      Comment

      • Dormilich
        Recognized Expert Expert
        • Aug 2008
        • 8694

        #4
        replace line #7 by var purchase = {};

        Comment

        • mgdvicky
          New Member
          • Feb 2014
          • 12

          #5
          ya,dormilich i got it thankyou.
          Code:
          var jsonstr= {"productcode":dijit.byId("productcode").attr("value"),...}

          Comment

          • Dormilich
            Recognized Expert Expert
            • Aug 2008
            • 8694

            #6
            technically, it’s still a JavaScript object.

            Comment

            Working...