Lakhae
Lakhae

Reputation: 1899

How to pass GUID from View to JavaScript?

I am trying to pass GUID through parameter from View to Javascript function. I got an error message in Firefox identifier starts immediately after numeric literal

Here is code in View

onchange="updateOrder(<%= Model.Category[j].OrderItems[i].OrderID %>, <%= Model.Category[j].OrderItems[i].ID %>, this.value, <%= Model.CategoryItems[j].OrderItems[i].Order.JournalID %>);" />

<%= Model.CategoryItems[j].OrderItems[i].Order.JournalID %> is in GUID

code in Javascript

function updateOrder(orderID, itemID, quantity, journalId) {
    ... 
}

Really appreciate it for your help.

Upvotes: 0

Views: 1834

Answers (2)

Ondrej Svejdar
Ondrej Svejdar

Reputation: 22094

Try

onchange="updateOrder(<%= Model.Category[j].OrderItems[i].OrderID %>,
 <%= Model.Category[j].OrderItems[i].ID %>, this.value, 
'<%= Model.CategoryItems[j].OrderItems[i].Order.JournalID %>');" />

Notice the '' around JournalID parameter

Upvotes: 1

lc.
lc.

Reputation: 116538

I think you need some quotes:

onchange="updateOrder('<%= Model.Category[j].OrderItems[i].OrderID %>', '<%= Model.Category[j].OrderItems[i].ID %>', this.value, '<%= Model.CategoryItems[j].OrderItems[i].Order.JournalID %>');" />

Note though if there is any chance the ID values could contain a quote character, you're going to have to escape it. (I'm assuming all the IDs are strings (GUIDs). If any are numeric, you can remove the quotes.)

Upvotes: 4

Related Questions