У меня есть функция, привязанная к событию onclick кнопки, которое создает копию динамически созданного div и всего его содержимого.
Все работает должным образом при использовании Chrome, Firefox или Edge и JS отлично проверяет. Однако в Safari это не работает. Нажатие кнопки ничего не делает.
У меня просто есть доступ к iPad и iPhone для устранения неполадок, которые по какой-то необъяснимой причине требуют Ma c для доступа к инструментам веб-разработчика в мобильном браузере, поэтому Я установил Safari 5.1.7 для Windows, чтобы попробовать отладить его.
При загрузке страницы консоль Safari выдает ошибку: SyntaxError: Expected token ')'
ссылка на onclick="replicate_block(36219)"
в кнопке.
<button type="button" class="btn btn-primary" onclick="replicate_block(36219)"><i class="fa fa-plus"></i> Add Block</button>
function replicate_block(pk){
var block = $('#block-panel-' + pk);
document.getElementById('replications' + pk).stepUp();
var cloneCount = $('#replications' + pk).val();
var newBlockID = 'block-panel-'+ pk + '-Rep' + cloneCount;
var checked_dict = {};
block.find('input').each(function(){
checked_dict[$(this).attr('id')] = $(this).prop("checked");
});
var cloneBlock = block.clone().attr('id', newBlockID).after("#id");
cloneBlock.appendTo($('#replicating_block_div' + pk));
$('#' + newBlockID).find('.sig-field, .sig-button').each(function(){
$(this).replaceWith('<p>Signature Fields are unavailabe until after the form has been saved.</p>');
});
$('#' + newBlockID).find('input').each(function(){
this.name = this.name + '-Rep' + cloneCount;
this.id = this.id + '-Rep' + cloneCount;
if($(this).is(':radio') || $(this).is(':checkbox')){
$(this).prop("checked",false);
} else {
$(this).val('');
}
$(this).removeClass('garlic-auto-save');
});
$('#' + newBlockID).find('select').each(function(){
this.name = this.name + '-Rep' + cloneCount;
this.id = this.id + '-Rep' + cloneCount;
$(this).val('');
$(this).removeClass('garlic-auto-save');
});
$('#' + newBlockID).find('textarea').each(function(){
this.name = this.name + '-Rep' + cloneCount;
this.id = this.id + '-Rep' + cloneCount;
$(this).val('');
$(this).removeClass('garlic-auto-save');
});
$('#' + newBlockID).find('button.locationbtn').each(function(){
$(this).attr('onclick',$(this).attr('onclick').split(')')[0] + ',\'-Rep' + cloneCount + '\')');
});
$('#' + newBlockID).addClass('panel-warning');
$('#' + newBlockID).find('.panel-title').each(function(){
$(this).append(' <div class="pull-right"><small>Warning: This is a temporary block and will be deleted if you close this form without saving.</small></div>');
});
$('html,body').animate({
scrollTop: $('#' + newBlockID).offset().top
});
}
Любая информация будет принята с благодарностью.