Over a million developers have joined DZone.

Knockout JS Error: Uncaught Error: NoModificationAllowedError

DZone's Guide to

Knockout JS Error: Uncaught Error: NoModificationAllowedError

· Web Dev Zone ·
Free Resource

Bugsnag monitors application stability, so you can make data-driven decisions on whether you should be building new features, or fixing bugs. Learn more.

While trying to setup some bindings in Knockout I received the following error:

Uncaught Error: NoModificationAllowedError: DOM Exception 7

At first glance this was very odd to me as I have never seen this before.  Because I had made a few binding changes prior to my last refresh, I was not sure what was causing the error. In order to find out which was the culprit started removing one binding at a time until I found which binding was causing the issue.  Below is the binding which was bad, can you detect the issue?


If you don’t see the issue don’t worry, it took me a minute as well.  Below is the same code w/ the issue highlighted


In my carelessness I had used the text binder rather than the value binder.  This is NOT going to work when trying to binding to an input box, which makes perfect sense.  To resolve the issue I simply replaced my binder as below and everything worked correctly.


I understand why this fails but the error it produces is not very clear.  But remember anytime you get a binding error in Knockout make sure you are using the correct binder.

Till next time,

P.S. If you want to learn more about Knockout watch my Pluralsight Course on Knockout JS

P.S.S. If you want to learn how to transition your XAML skills to HTML you can watch my course on Html for the XAML Developer

Monitor application stability with Bugsnag to decide if your engineering team should be building new features on your roadmap or fixing bugs to stabilize your application.Try it free.


Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}