I am still struggling to find a fix for this. Can some guru please help?
-
Sorry jkirkerx, I didn't mean to imply that you are RyanDev. I was trying to reply to all posts at once by mentioning your name and his. In any case, my apologies. Ok I will take your advice by dealing with one issue at a time. Let's start with my js: You referenced txt_geolocation below: document.getElementById('txt_geolocation').value('stuff you geolocation info in here'); Did you mean results? Please see entire js and you will see that my js has it this way: document.getElementById("results").innerHTML =...
<script type="text/javascript">
var geocoder, location1, location2, gDir; function initialize() { geocoder = new GClientGeocoder(); gDir = new GDirections(); GEvent.addListener(gDir, "load", function () { var drivingDistanceMiles = gDir.getDistance().meters / 1609.344; var drivingDistanceKilometers = gDir.getDistance().meters / 1000; document.getElementById("results").innerHTML = '**From:** ' + location1.address + '
To: ' + location2.address + '
Driving Distance: ' + drivingDistanceMiles.toFixed(2) + ' miles ';
});
}function showLocation() { geocoder.getLocations(document.forms\[0\].address1.value, function (response) { if (!response || response.Status.code != 200) { alert("Sorry, we were unable to geocode the first address"); } else { location1 = { lat: response.Placemark\[0\].Point.coordinates\[1\], lon: response.Placemark\[0\].Point.coordinates\[0\], address: response.Placemark\[0\].address }; geocoder.getLocations(document.forms\[0\].address2.value, function (response) { if (!response || response.Status.code != 200) { alert("Sorry, we were unable to geocode the second address"); } else { location2 = { lat: response.Placemark\[0\].Point.coordinates\[1\], lon: response.Placemark\[0\].Point.coordinates\[0\], address: response.Placemark\[0\].address }; gDir.load('from: ' + location1.address + ' to: ' + location2.address); } }); } }); } </script>
And please, what do you mean by ).value('s
-
You can use any name you like, so we will use "results" Just make sure the textbox ID matches your javascript I used value, because a textbox does not have innerHTML, it has a value This is value
This is innerHTML
innerHTML
Got It
Thanks again I got the part about textbox. This is the part that I am trying to understand.
document.getElementById("results").innerHTML = 'From: ' + location1.address + '
To: ' + location2.address + '
Driving Distance: ' + drivingDistanceMiles.toFixed(2) + ' miles ';Does this script above remain as is or do I change innerHTML to value like below?
document.getElementById("results").value
Your advise is great. I am trying to walk my way from the script to markup. Earlier today, I changed to this --> document.getElementById("results").value on the script and then used this: I put the textbox outside the multiew control. I am really not sure what difference that makes. Multiview control is used to pass values from one page to another. It gives the appearance that you are going from page to another. For instance, in my case, I would like users to fill a form on on view, then when they click Next, all the values they entered previously are displayed in another view. This gives them the opportunity to review what information they entered and certify that they are correct. If they are not, the users can return to previous "page" to make addditional changes. If they are correct, then they submit. So, I tried putting the textbox inside one view, nothing happens. The box is blank. I tried putting it outside the view. Still nothing happened. This is really frustrating.
-
Thanks again I got the part about textbox. This is the part that I am trying to understand.
document.getElementById("results").innerHTML = 'From: ' + location1.address + '
To: ' + location2.address + '
Driving Distance: ' + drivingDistanceMiles.toFixed(2) + ' miles ';Does this script above remain as is or do I change innerHTML to value like below?
document.getElementById("results").value
Your advise is great. I am trying to walk my way from the script to markup. Earlier today, I changed to this --> document.getElementById("results").value on the script and then used this: I put the textbox outside the multiew control. I am really not sure what difference that makes. Multiview control is used to pass values from one page to another. It gives the appearance that you are going from page to another. For instance, in my case, I would like users to fill a form on on view, then when they click Next, all the values they entered previously are displayed in another view. This gives them the opportunity to review what information they entered and certify that they are correct. If they are not, the users can return to previous "page" to make addditional changes. If they are correct, then they submit. So, I tried putting the textbox inside one view, nothing happens. The box is blank. I tried putting it outside the view. Still nothing happened. This is really frustrating.
-
Textboxes don't have innerHTML! They have values! Try the sample below, then go back and work on filling in the data.
document.getElementById("results").value = 'See, textboxes do have value';
Hi again, If you look at the sample in my last post, I have that exactly. I posted exact code I am currently using. Here are the snippets again: //JS:
document.getElementById("results").Value = drivingDistanceMiles.toFixed(2);
//HTML
So, why is results not displaying values?
-
Hi again, If you look at the sample in my last post, I have that exactly. I posted exact code I am currently using. Here are the snippets again: //JS:
document.getElementById("results").Value = drivingDistanceMiles.toFixed(2);
//HTML
So, why is results not displaying values?
-
Because value has to be in lower case. Javascript is case sensitive. It has to be typed perfect. Use IE11, and press F12, then the 3rd icon down on the left and run the debugger for JavaScript.
OK, I see it after I made the change. All along, it it in lower case; don't know when I made the switch back to upper case. In any case, we are still back to same orignal problem. I would like to grab that value in code behind but this one line of code gets in the way. If I run this code as is:
then it dislays the miles but doesn't do anything else. It doesn;t even recognize rest of form fields that need to be validated and upon click the NEXT buttn takes some action. I suppose the return false is the issue? If I remove it, then the value of request doesn't get grabbed on codebehind. Thanks alot for your patience.
-
OK, I see it after I made the change. All along, it it in lower case; don't know when I made the switch back to upper case. In any case, we are still back to same orignal problem. I would like to grab that value in code behind but this one line of code gets in the way. If I run this code as is:
then it dislays the miles but doesn't do anything else. It doesn;t even recognize rest of form fields that need to be validated and upon click the NEXT buttn takes some action. I suppose the return false is the issue? If I remove it, then the value of request doesn't get grabbed on codebehind. Thanks alot for your patience.
Your Javascript, off the top of my head, this is concept code [EDIT] Fixed the error
function showLocation() {
var vFlag = true; // I prefer to presume true, prove me wrong
var parameters = '3.14'; // Build your string
document.getElementByID('results').value = parameters; // set the textbox
var results = document.getElementByID('results').value; // check the length of data in the txt
if (results.length === 0) { // No text, it fails - === is proper, not == or =
vFlag = false; // return failure
alert('my code failed');
}alert('txt=' + results);
return vFlag;
}Then on the button off the top of my head. The code is untested, just freewriting here, but it's a concept to prove.
-
Your Javascript, off the top of my head, this is concept code [EDIT] Fixed the error
function showLocation() {
var vFlag = true; // I prefer to presume true, prove me wrong
var parameters = '3.14'; // Build your string
document.getElementByID('results').value = parameters; // set the textbox
var results = document.getElementByID('results').value; // check the length of data in the txt
if (results.length === 0) { // No text, it fails - === is proper, not == or =
vFlag = false; // return failure
alert('my code failed');
}alert('txt=' + results);
return vFlag;
}Then on the button off the top of my head. The code is untested, just freewriting here, but it's a concept to prove.
Thanks a lot for all your help, jkirkerx. I am beginning to think this is not even possible. I have looked at several examples online and it seems it is just intended to display it and not do anything else with it. So far, nothing I tried has worked. Your off the top of your head examples have lots of errors I don't even know how to begin to fix them.
-
Thanks a lot for all your help, jkirkerx. I am beginning to think this is not even possible. I have looked at several examples online and it seems it is just intended to display it and not do anything else with it. So far, nothing I tried has worked. Your off the top of your head examples have lots of errors I don't even know how to begin to fix them.
It can be done. We do this on a volunteer basis, we don't get paid. I'm not a retired person, I'm actually working on my jobs that I have to get finished while I'm trying to help you. Your in the learning phase, and you don't quite understand HTML and the DOM, and how Java Script is just a DOM manipulator. This happens with programmers that know how to write code, but don't know HTML very well, and downplays the significance of HTML as a language. PHP is classic for this. I see PHP programmers write elaborate code to generate HTML, instead of just writing a HTML page, with a little PHP to generate a little bit of HTML.
-
Thanks a lot for all your help, jkirkerx. I am beginning to think this is not even possible. I have looked at several examples online and it seems it is just intended to display it and not do anything else with it. So far, nothing I tried has worked. Your off the top of your head examples have lots of errors I don't even know how to begin to fix them.
[EDIT] I fixed your code, and now it works. I don't really code in c#, and can't figure out why I have to click the button twice to populate the blue textbox, the postback results of the client script. Maybe someone else can give me some insight into this. but like I said, I didn't see any asp.net in your first post, so it really seems like a javascript issue. In hindsight, it looks you you pasted a bunch of code from the inter webs on to a web form, expecting it to work, without solid knowledge of how java script works, and how to adjust asp.net to it for the postback value to do whatever you need to do with it. I can tell that you have very little experience with client scripting and asp.net, and could use a little more time and practice on that subject. Like I said last night, it was just concept code, you were not suppose to copy and paste it into your work. You were suppose to see the difference and type that into your project.
<%@ Page Language="C#" AutoEventWireup="true" %>
<!DOCTYPE html>
<script runat="server">protected void bt\_search\_Click(object sender, EventArgs e) { if (Page.IsPostBack) { String m\_results = txt\_results.Text; txt\_postback.Text = m\_results; } }
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
<script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAA7j\_Q-rshuWkc8HyFI4V2HxQYPm-xtd00hTQOC0OXpAMO40FHAxT29dNBGfxqMPq5zwdeiDSHEPL89A" type="text/javascript"></script><script type="text/javascript"> var geocoder, location1, location2; function initialize() { geocoder = new GClientGeocoder(); } function showLocation() { var vFlag = true; geocoder.getLocations(document.getElementById('txt\_address1').value, function (response) { if (!response || response.Status.code != 200) { alert('Sorry, we were unable to geocode the first address'); vFlag = false; } else { location1 = { lat: response.Placemark\[0\].Point.coordinates\[1\], lon: response.Placemark\[0\].Point.coordinates\[0\], address: response.Placemark\[0\].address }; geocoder.getLocations(document.getElementById('txt\_address2').value, function (response) {
-
[EDIT] I fixed your code, and now it works. I don't really code in c#, and can't figure out why I have to click the button twice to populate the blue textbox, the postback results of the client script. Maybe someone else can give me some insight into this. but like I said, I didn't see any asp.net in your first post, so it really seems like a javascript issue. In hindsight, it looks you you pasted a bunch of code from the inter webs on to a web form, expecting it to work, without solid knowledge of how java script works, and how to adjust asp.net to it for the postback value to do whatever you need to do with it. I can tell that you have very little experience with client scripting and asp.net, and could use a little more time and practice on that subject. Like I said last night, it was just concept code, you were not suppose to copy and paste it into your work. You were suppose to see the difference and type that into your project.
<%@ Page Language="C#" AutoEventWireup="true" %>
<!DOCTYPE html>
<script runat="server">protected void bt\_search\_Click(object sender, EventArgs e) { if (Page.IsPostBack) { String m\_results = txt\_results.Text; txt\_postback.Text = m\_results; } }
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
<script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAA7j\_Q-rshuWkc8HyFI4V2HxQYPm-xtd00hTQOC0OXpAMO40FHAxT29dNBGfxqMPq5zwdeiDSHEPL89A" type="text/javascript"></script><script type="text/javascript"> var geocoder, location1, location2; function initialize() { geocoder = new GClientGeocoder(); } function showLocation() { var vFlag = true; geocoder.getLocations(document.getElementById('txt\_address1').value, function (response) { if (!response || response.Status.code != 200) { alert('Sorry, we were unable to geocode the first address'); vFlag = false; } else { location1 = { lat: response.Placemark\[0\].Point.coordinates\[1\], lon: response.Placemark\[0\].Point.coordinates\[0\], address: response.Placemark\[0\].address }; geocoder.getLocations(document.getElementById('txt\_address2').value, function (response) {
jkirkerx, I THANK YOU so much for your assistance but more importantly. I have been extremely fortunate and blessed to work with people who demonstrate a great deal of patience with determination to help someone else succeed. I really appreciate it. About asp.net, no I am not a newbiew at all. There are two things I can say I am good at; asp.net and sql are two of them. As for Javascript, yes, I am not very good there. Having said that, usually, before I post, I scoured the web looking for snippets or samples to use. So, when I post, I post because I tried to solve it myself. As I stated earlier, I was looking for a way to give us the ability to calculate mileage between two locations. My googling took me to the sample Javascript I posted. Yes, you are right, the Javascript is mine but I tested it and it works. However, I was looking for a way to use it with Multiview control. I did mention that remember? With multiview control, you have view1, view2, viewN. In my case, I have view1 called vwPersonalData. With this, users enter all their information and when they click NEXT, they are taken to view2 called vwPreviewData. As the name suggests, they can preview the information they entered in vwpersonalDate. If something is not right, they go back, correct it then try again. If all is well, they click SUBMIT to submit to the database. Everything works except this javascript bit. I didn't want to dump all of that code here. So, I started with Javascript per your suggestion so I can go one step at a time. I am about to try to integrate your solution with multiview controls and see if i can do it. Again, you are God sent and I thank you very much. Be back with results.
-
[EDIT] I fixed your code, and now it works. I don't really code in c#, and can't figure out why I have to click the button twice to populate the blue textbox, the postback results of the client script. Maybe someone else can give me some insight into this. but like I said, I didn't see any asp.net in your first post, so it really seems like a javascript issue. In hindsight, it looks you you pasted a bunch of code from the inter webs on to a web form, expecting it to work, without solid knowledge of how java script works, and how to adjust asp.net to it for the postback value to do whatever you need to do with it. I can tell that you have very little experience with client scripting and asp.net, and could use a little more time and practice on that subject. Like I said last night, it was just concept code, you were not suppose to copy and paste it into your work. You were suppose to see the difference and type that into your project.
<%@ Page Language="C#" AutoEventWireup="true" %>
<!DOCTYPE html>
<script runat="server">protected void bt\_search\_Click(object sender, EventArgs e) { if (Page.IsPostBack) { String m\_results = txt\_results.Text; txt\_postback.Text = m\_results; } }
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
<script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAA7j\_Q-rshuWkc8HyFI4V2HxQYPm-xtd00hTQOC0OXpAMO40FHAxT29dNBGfxqMPq5zwdeiDSHEPL89A" type="text/javascript"></script><script type="text/javascript"> var geocoder, location1, location2; function initialize() { geocoder = new GClientGeocoder(); } function showLocation() { var vFlag = true; geocoder.getLocations(document.getElementById('txt\_address1').value, function (response) { if (!response || response.Status.code != 200) { alert('Sorry, we were unable to geocode the first address'); vFlag = false; } else { location1 = { lat: response.Placemark\[0\].Point.coordinates\[1\], lon: response.Placemark\[0\].Point.coordinates\[0\], address: response.Placemark\[0\].address }; geocoder.getLocations(document.getElementById('txt\_address2').value, function (response) {
Hi jkirkerx, I know you have probably reached the end of your support and I can clearly understand it. I have tested your code and it works exactly like you described it. I am going to try to see if I can figure out another way to preview data without using multiview. Until that happens, this is still not going to be of much help, unfortunately. You have been great and I thank you very much.