I have a “coordinate.js” javascript in public/javascripts and in
app/views/dicoms, I have a “show.html.erb”.
For example, if I want to call the getWidth function from the .js file
in the view what should I do? I remember it working for me as I get a
message box giving me the alert but don’t know what went wrong.
For example, I have this functionin the .js file
function getWidth() {
var image = document.getElementById(“dicom_image”);
imageWidth = image.width;
return imageWidth;
alert("Image Width is " + image.width);
}
And, here is my “show.html.erb” file:
<%= javascript_include_tag “coordinate” %>
<%= notice %>
Name
<%= @dicom.name %>
Image
<%= image_tag @dicom.photo.url , :id => 'dicom_image' %>
<%= update_page_tag do |page|
page <
<%= update_page_tag do |page|
page <
<%= update_page_tag do |page|
page <
<%= link_to 'Edit', edit_dicom_path(@dicom) %>
<%= link_to 'Back', dicoms_path %>
Please let me know what you think.
Thanks.
I figured the issue out. I wanted an alert to show up, and had this
statement BEFORE the alert:
return imageWidth;
So, I had to remove it to see the alert, since it seems that the block
will exit after the return statement.
When I try to call the getHeight() and getWidth() functions I get two
message box telling:
RJS error:
TypeError: image is null
And,
getWidth();
I get that when I do the following in “show.html.erb”:
<%= javascript_include_tag “coordinate” %>
<canvas id=“draw” height = “<%= update_page_tag do |page|
page << “getHeight();”
end
%>”
width = “<%= update_page_tag do |page|
page << “getWidth();”
end
%>”
Provided that, in “coordinate.js”, the methods are as follows:
function getWidth() {
var image = document.getElementById(“dicom_image”);
imageWidth = image.width;
return imageWidth;
}
function getHeight(){
var image = document.getElementById(“dicom_image”);
imageHeight = image.height;
return imageHeight;
}
What do you think?
Thanks.
are you using any library?
radhames brito wrote:
are you using any library?
I’m using Paperclip to upload an image in my model.
radhames brito wrote:
looks like you are not using any javascript library but are calling a
prototype method or something
var img = document.getElementById(“dicom_image”);
var width = img.clientWidth;
var height = img.clientHeight;
So, what do you think should I do to solve the issue?
looks like you are not using any javascript library but are calling a
prototype method or something
var img = document.getElementById(“dicom_image”);
var width = img.clientWidth;
var height = img.clientHeight;
If you are learning and want to learn how to do everything nice and
efficiently learn how to use a javascript library, if you are in a hurry
and dont have time to learn keep doing it the way you have. The code i
gave
you is for when you are not using any library.
with jquery it would have been as easy as this
$("#dicom_image").width();
$("#dicom_image").height();
radhames brito wrote:
If you are learning and want to learn how to do everything nice and
efficiently learn how to use a javascript library, if you are in a hurry
and dont have time to learn keep doing it the way you have. The code i
gave
you is for when you are not using any library.
with jquery it would have been as easy as this
$("#dicom_image").width();
$("#dicom_image").height();
At least for the way I’m following right now. Why am I not getting the
value of the width and height returned in my view?
In other words: How can I call the getHeight() and getWidth() Javascript
functions in my view here?
Thanks.
radhames brito wrote:
looks like you are not using any javascript library but are calling a
prototype method or something
var img = document.getElementById(“dicom_image”);
getElementById is core JavaScript, not a Prototype extension. If you’re
going to spread misinformation like this, please do us all a favor and
stop posting.
var width = img.clientWidth;
var height = img.clientHeight;
Best,
–Â
Marnen Laibow-Koser
http://www.marnen.org
[email protected]
Sent from my iPhone
because without library is
var width = document.getElementById(‘dicom_image’).clientWidth;
or
var image = document.getElementById(‘dicom_image’);
var width = image.clientWidth;
but you are calling
image.width;
@Marnen Laibow-Koser
getHeight() and getWidth() are prototype methods.
Read before you accuse me
@Marnen. I really don’t understand what you mean!
he was talking to me, when you set you called getHeight() and
getWidth()
you used then same names prototype uses, but i didnt notice
you had made your own methods with those name, so he thought that when i
said
radhames brito wrote:
looks like you are not using any javascript library but are calling a
prototype method or something
i was refering to this
var img = document.getElementById(“dicom_image”);
but i was reffering to this
<%= update_page_tag do |page|
page << “getWidth();”
end
%>
i user this
var img = document.getElementById(“dicom_image”);
to point out that you are not using any libraries but you seem to be
calling getHeight() and getWidth() that are prototype methods
radhames brito wrote:
@Marnen Laibow-Koser
getHeight() and getWidth() are prototype methods.
…which were not involved in the post you responded to as far as I can
see.
Read before you accuse me
I did.
Best,
–Â
Marnen Laibow-Koser
http://www.marnen.org
[email protected]
Sent from my iPhone
Marnen Laibow-Koser wrote:
radhames brito wrote:
@Marnen Laibow-Koser
getHeight() and getWidth() are prototype methods.
…which were not involved in the post you responded to as far as I can
see.
Read before you accuse me
I did.
Best,
–Â
Marnen Laibow-Koser
http://www.marnen.org
[email protected]
Sent from my iPhone
getWidth() is involved.
If you check my question, you will see the following:
function getWidth() {
var image = document.getElementById(“dicom_image”);
imageWidth = image.width;
return imageWidth;
alert("Image Width is " + image.width);
}
Which I then tried to call in “show.html.erb” using:
<%= update_page_tag do |page|
page << “getWidth();”
end
%>
@Marnen Laibow-Koser
from Abder-Rahman A.
"getWidth() is involved.
If you check my question, you will see the following:"
i rest my case your honor.
Abder-Rahman A. wrote:
Marnen Laibow-Koser wrote:
radhames brito wrote:
@Marnen Laibow-Koser
getHeight() and getWidth() are prototype methods.
…which were not involved in the post you responded to as far as I can
see.
Read before you accuse me
I did.
Best,
–Â
Marnen Laibow-Koser
http://www.marnen.org
[email protected]
Sent from my iPhone
getWidth() is involved.
If you check my question, you will see the following:
function getWidth() {
var image = document.getElementById(“dicom_image”);
imageWidth = image.width;
return imageWidth;
alert("Image Width is " + image.width);
}
Which I then tried to call in “show.html.erb” using:
<%= update_page_tag do |page|
page << “getWidth();”
end
%>
OK, then I failed to read properly (helped along by Radhames’ lack of
proper quoting) and I’m sorry about that. Apparently I completely
misunderstood what Radhames was getting at. I’ll try to read more
carefully in future. Radhames, please try to quote more relevant
material.
Best,
Marnen Laibow-Koser
http://www.marnen.org
[email protected]
@marnen i comment via gmail, so i forget about the quoting, also , note
that
im not a native english speaker and some times my ideas dont come across
the
way
i wanted them to. : /
No need to be sorry @Marnen, that’s fine.