Ошибка типа: $ (...). GetValue не является функцией - PullRequest
0 голосов
/ 01 декабря 2019

У меня есть эта форма альпаки
Я хотел бы получить содержимое формы (значения, которые вводит пользователь)
, поэтому я нашел пример на сайте альпаки
Примерработает нормально, когда кнопка находится внутри this.getValue ();работает нормально
Но извне я получаю TypeError: $ (...). getValue не является функцией
Что я делаю не так?

$("#field1").alpaca({
    "data": {
        "firstName": "John",
        "lastName": "McClane"
    },
    "schema": {
        "type": "object",
        "properties": {
            "firstName": {
                "type": "string",
                "title": "First Name"
            },
            "lastName": {
                "type": "string",
                "title": "Last Name"
            }
        }
    },
    "options": {
        "form": {
            "buttons": {
                "submit": {
                    "title": "Serialize - working fine....",
                    "click": function() {
                        var value = this.getValue();
                        alert(JSON.stringify(value, null, "  "));
                    }
                }
            }
        }
    }
});
        <!-- jquery -->
        <script type="text/javascript" src="//code.jquery.com/jquery-1.11.1.min.js"></script>
 
        <!-- bootstrap -->
        <link type="text/css" rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css" />
        <script type="text/javascript" src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>
 
        <!-- handlebars -->
        <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.5/handlebars.js"></script>
 
        <!-- alpaca -->
        <link type="text/css" href="//cdn.jsdelivr.net/npm/alpaca@1.5.27/dist/alpaca/bootstrap/alpaca.min.css" rel="stylesheet" />
        <script type="text/javascript" src="//cdn.jsdelivr.net/npm/alpaca@1.5.27/dist/alpaca/bootstrap/alpaca.min.js"></script>
        
<script src="https://cdn.jsdelivr.net/npm/handlebars@latest/dist/handlebars.js"></script>

<div id="field1" ></div>
<button onclick="console.log(JSON.stringify($('#field1').getValue(), null, '  '))">Serialize - Not working ....</button>

1 Ответ

1 голос
/ 02 декабря 2019

Вы должны добавить alpaca() между $('#field1') и getValue()

JSON.stringify($('#field1').alpaca().getValue()

Вот для этого скрипка .

...