2016-05-12 6 views
-1

В моих ссылках меню используется сценарий jQuery для загрузки различных HTML-скриптов в div на странице index.php. Пункт меню «Инфо» помещает sectionInfo.html в страницу index.php. Этот скрипт содержит краткую форму и может вызвать пользователя alert(), если они неправильно используют форму. Но когда принимается предупреждение, страница перезагружается по умолчанию index.php, а затем пользователю нужно снова выбрать «Информация» из меню, чтобы вернуться туда, где находится форма. Как я могу повторно загрузить правильный div снова из предупреждения?Загрузить div с оповещения javascript

JQuery скрипт для ссылок меню:

$('.trigger').click(function(){ 
    var url = $(this).attr('href'); 
    $('#target').load(url) 

Ссылка меню:

<ul> 
    <li> 
     <a href="sectionInfo.html" class="trigger">Info</a> 
    </li> 
</ul> 

настороже:

function validateMyForm1() { 
    alert("Alert goes here "); 
    window.location = 'href="sectionInfo.html" class="trigger"'; 
} 

DIV в теле index.php

<div id="target"></div> 

Я проверил другие сообщения и попробовал различные варианты. Пожалуйста, помогите, и если вы нажмете меня, пожалуйста, скажите мне, почему, поскольку я был часто нажат, и не знаю, почему. Спасибо.

https://codereview.stackexchange.com/questions/64192/loading-div-sections-from-separate-files

calling jquery from a javascript function

Go to URL after OK button in alert is pressed

скрипт JQuery является частью более длинного скрипта, который я включаю в этом редактирования: нижняя часть которой скатываются тексту HTML-файлы.

$('.trigger').click(function(){ 
    var url = $(this).attr('href'); 
    $('#target').load(url, function() { 
     $('#faqs h1').each(function() { 
      var tis = $(this), state = false, answer = tis.next('div').hide().css('height','auto').slideUp(); 
      tis.click(function() { 
       state = !state; 
       answer.slideToggle(state); 
       tis.toggleClass('active',state); 
      }); 
     }); 
    }); 
    return false; 
}); 
+5

Что на земле вы пытаетесь сделать здесь ?: 'window.location =«HREF = класс „sectionInfo.html“ = „триггер“» ; ' – David

+0

Я пытался использовать различные возможности. Спасибо, что указали, что может быть неправильным. –

+0

Снова я проголосовал, и я не знаю почему. Какой смысл в голосовании, если вы не скажете почему. Ничто не меняется, я ничего не получаю в своем понимании, чтобы избежать его снова. –

ответ

1

Пара вопросов в ваших JS, в первом примере вам нужно вызвать preventDefault() на event, чтобы остановить связь соблюдается:

$('.trigger').click(function(e) { 
    e.preventDefault(); 
    $('#target').load($(this).attr('href')) 
}); 

Во втором примере кода ваша строка расположение совершенно неправильно, вам просто нужно установить URL-адрес в качестве строки. Лично я предпочитаю делать это с помощью метода assign(), как это:

function validateMyForm1() { 
    alert("Alert goes here"); 
    window.location.assign('sectionInfo.html'); 
} 
+0

Я пробовал ваши предложения, но я, возможно, не смог правильно интегрировать ваш верхний код, поскольку мой код jQuery был частью более длинного скрипта, который я не включал, поскольку он имеет разную функциональность (скользящий текст) .... индекс по умолчанию. Файл php продолжает поступать. Не могли бы вы пересмотреть мой отредактированный вопрос и посмотреть полный jquery и сделать предложение. Спасибо. –

+0

Я урезал свой сайт до минимума, удалил скользящий текст, укоротил jQuery точно так, как вы описали, чтобы проверить, и я все равно возвращаюсь к начальному открытию div index.php. Я поместил функцию предупреждения в различные места в скрипте, и я все еще возвращаюсь к дефолту по умолчанию ??? –

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