Вы можете использовать json_decode () для преобразования строки json в объект / массив PHP.
Например.
Вход:
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json));
var_dump(json_decode($json, true));
Выход:
object(stdClass)#1 (5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
array(5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
Несколько точек для запоминания:
json_decode
требует, чтобы строка была действительной json
, иначе она вернется NULL
. json_last_error()
можно использовать для определения точного характера ошибки. utf8
контент, или json_decode
может выйти из строя и просто вернуть значение NULL
. После немного большего количества игр я придумал рабочий ответ.
if(error == 0){
$(this).focus();
var tab = $(this).closest('.tab-pane').attr('id');
$('#myTab a[href="#' + tab + '"]').tab('show');
}
Я просто заменил лишние 2 строки выше на мой код выше, и теперь он автоматически показывает правильную вкладку. То, что есть, находит ближайший идентификатор к требуемому полю, используя $ (this) .closest ('. Tab-pane'). Attr ('id');
Используя код в бутстрапе, я просто применяю .tab ('show') на эту вкладку.
Я нашел простейшее решение. Это может помочь;)
$('#productbutton').click(function () {
$(':required:invalid', '#product_form').each(function () {
var id = $('.tab-pane').find(':required:invalid').closest('.tab-pane').attr('id');
$('.nav a[href="#' + id + '"]').tab('show');
});
});
У меня была та же проблема, и я решаю ее следующим образом:
<script>
$('#submitButton').click(function () {
$('input:invalid').each(function () {
// Find the tab-pane that this element is inside, and get the id
var $closest = $(this).closest('.tab-pane');
var id = $closest.attr('id');
// Find the link that corresponds to the pane and have it show
$('.nav a[href="#' + id + '"]').tab('show');
// Only want to do it once
return false;
});
});
</script>
Когда вы нажимаете кнопку отправки (вам нужно ID), она ищет недопустимые поля ввода, f2] id и показать его.
Надеюсь, вы поможете!