2015-12-08 2 views
2

Привет, ребята У меня проблема, я думаю, это легко, но я не нашел проблемы. У меня есть «меню», где я хочу отправить данные на другую страницу, когда я нажимаю одну кнопку. Поэтому я пишу функцию в js, чтобы открыть новую вкладку и отправить данные. Но когда я нажимаю, это похоже на то, что функция не существует.Функция JS не отвечает на событие onclick

<div id="botones"> 
    &nbsp;&nbsp; 
    <input type="button" value="<?=L::misc_export?>" onclick="javascript:pasarDatosParaExportar();" name="boton" /> 
    &nbsp;&nbsp; 
</div> 

<script type="text/javascript"> 
function pasarDatosParaExportar() { 
    window.open('calculos.exportar.php?fecha2='+'<?=$_POST['fecha2']?>'+'&hasta='<?=$_POST['hasta']?>'&cuartel='<?=(int)$_GET['cuartel']?>'','_blank'); 
} 
</script> 
+3

Значение атрибута 'onclick' должно быть кодом JavaScript. Избавьтесь от 'javascript:' там, это не нужно. –

+1

Вы уверены, что ваша строка правильно заполняется внутри 'window.open (...' - может быть причиной ошибки. Вы проверили консоль? – WhiteHat

ответ

1

Удалить javascript: из содержимого вашего "onclick". Это для <a href="[HERE PUT javascript:]"

Если у вас есть ссылки и хотите положить JS код в параметре «HREF», следует использовать:

<a href="javascript:alert('success!')">click</a> 

Но вы можете сделать то же самое, как это:

<a onclick="alert('success!')">click</a> 
+3

Хотя это лучше, это не мешает событию от стрельбы, поэтому это не ответ. Это было бы лучше подходит в качестве комментария к исходному вопросу. https://jsfiddle.net/34a8wvuh/ –

+0

Лучшая практика откладывает его от HTML-кода. Например: 'document.getElementById ('id ') .onclick = function() {/ * body * /} '. Но вы, конечно, можете поместить его в ссылку« href »без огня. Но вы также можете поместить« return false »в конец« onclick » ". –

0

Вы должны проверить символы разделителя строк (') в параметре на открытую функцию. Я думаю, вы, вероятно, имели в виду, чтобы написать что-то вроде этого

function pasarDatosParaExportar() { 
window.open('calculos.exportar.php?fecha2='+'<?=$_POST['fecha2']?>'+'&hasta=<?=$_POST['hasta']?>&cuartel=<?=(int)$_GET['cuartel']?>','_blank'); 
} 
+0

Спасибо, вы решили это – sinaxtis

+0

. Если мой ответ разрешил вашу проблему, возможно, вы должны отметить его как« принятый ответ ». –

0

Написать код JavaScript, чтобы определить функцию до ее использования в div и выше в коде, так как HTML предполагает, что этот код не существует, если она не перед его использованием. Так что просто замените div и script друг на друга. Это должно работать нормально. И не нужно использовать javascript: перед именем функции. yo может использовать onclick="pasarDatosParaExportar();".

Смежные вопросы