<script type = "text/javascript">
var account = <?php @$_GET['account'];?>
if (account){
jQuery(function(){
jQuery('#btnModal').click();
});
}
</script>
Если без оператора if, автоматический щелчок работает правильно, но если я хочу добавить оператор if, автоматический щелчок не работает правильно.
что не так со скриптом ..?
также не используйте подавители ошибок в режиме разработки.
Попробуйте в console.info <?php @$_GET['account'];?> и проверьте, что там.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


use trigger(); - вызов .trigger() выполняет обработчики в том же порядке, в котором они были бы, если бы событие было инициировано пользователем естественным образом.
Ссылка: - http://api.jquery.com/trigger/
<script type = "text/javascript">
var account = "<?php @$_GET['account'];?>"
if (account){
jQuery(function(){
jQuery('#btnModal').trigger( "click" );
});
}
</script>
jQuery('#btnModal').click() должен работать так же. Так что это не проблема.
jQuery('#btnModal').click() фактически запускает уже прикрепленное событие click. Пожалуйста, прочтите документы здесь.
Да, ты прав. спасибо, что поправили меня. в OP также автоматический щелчок работает без if.
Используйте кавычки " для обработки значения php GET как строки вместо переменной javascript и используйте метод .trigger() для автоматического щелчка.
<script type = "text/javascript">
var account = "<?php $_GET['account'] ?? '' ;?>";
if (account){
jQuery(function(){
jQuery('#btnModal').trigger ("click");
});
}
</script>
<script type = "text/javascript">
var account = <?php @$_GET['account'];?>
if (account){
jQuery(function(e){
jQuery('#btnModal').click();
});
}
</script>
или же
<script type = "text/javascript">
var account = <?php @$_GET['account'];?>
if (!account){
});
} else{
jQuery(function(e){
jQuery('#btnModal').click();
}
</script>
И, наконец, это работает правильно:
<?php if (isset($_GET['account'])){?>
<script type = "text/javascript">
jQuery(function(){
jQuery('#btnModal').click();
});
</script>
<?php } ?>
Спасибо всем..
попробуйте
var account = '<?php @$_GET['account'];?>';