JS функциональность для кнопки onclick через тег HTML

0

Я пытаюсь написать для вызова функции js в моей кнопке выбора, используя этот синтаксис...

Выбрать

но он не работает нормально... можете ли вы, ребята, сказать мне, как это исправить... предоставление моего кода ниже...

<div id="wrap_plans">

        <div class="plan">
            <div class="plan_head"><span class="hdr">Power</span><span class="tag">$64.95</span>
            </div>
            <div class="plan_spec"><span class="hdr">45 / 8</span> Mbps</div>
            <button onclick="UversePlanSelector()">Select</button>
        </div>
    </div>
  • 0
    Это глобальная функция?
  • 0
    Не главная проблема, но вы не можете свободно использовать свойство in как это, потому что это reserved word поэтому this.sel = {'in': -1, tv: -1} кавычки: this.sel = {'in': -1, tv: -1} и квадратные скобки: this.sel['in'] = -1; И что должна делать эта строка? while (e = e.offsetParent) { вы имели в виду === . Также используйте строгое равенство при сравнении с 0 ... в лучшем случае используйте всегда: ix === 0 , a === b
Показать ещё 1 комментарий
Теги:
javascript-events

2 ответа

1

Во-первых, UversePlanSelector не был в глобальном объекте

Из:

function UversePlanSelector(wrap, plans_in, plans_tv) {...
// > ReferenceError: UversePlanSelector is not defined

Для того, чтобы:

UversePlanSelector = function UversePlanSelector(wrap, plans_in, plans_tv) {...

Seccond, UversePlanSelector - это конструктор

Из:

<button onclick="UversePlanSelector()">Select</button>
// > Uncaught TypeError: Object [object global] has no method 'init'

Для того, чтобы:

<button onclick="new UversePlanSelector()">Select</button>

В-третьих, UversePlanSelector принимает 3 аргумента, ни один из них не указан

Декларация:

UversePlanSelector = function UversePlanSelector(wrap, plans_in, plans_tv) {...

Вызов:

<button onclick="new UversePlanSelector( /* No args given */ )">Select</button>

Consecuence:

> Uncaught TypeError: Cannot read property 'length' of undefined

Возможно, в планах, но я думаю, что вы должны быть тем, кто отлаживает его дальше :-)

0

Jsfiddle превратит весь js-код в функцию, и поэтому ваш html не сможет увидеть. Чтобы исправить это, просто назначьте свою функцию переменной, как показано ниже:

window.f = function() {...} //instead of function f() {...}

Проверьте обновленный скрипач

Ещё вопросы

Сообщество Overcoder
Наверх
Меню