Я использовал ajax (самым простым способом, который показывает любой базовый учебник), чтобы изменить мой основной div на веб-странице, чтобы при щелчке по другому полю на панели навигации появлялись другие данные или форма. отображается в том же Div.
Теперь, очевидно, есть проблема с моим пониманием ajax, потому что когда я пытаюсь выполнить самую простую проверку формы с помощью javascript для элементов, которые загружаются на мою страницу с помощью ajax, это не работает. Например, флажок (не отмечен) и кнопка отправки загружаются с помощью ajax. Когда я устанавливаю флажок и нажимаю кнопку «Отправить», чтобы посмотреть, установлен ли флажок, я ничего не получаю или получаю, что он не отмечен.
Я попробовал тот же пример (флажок + отправить) без ajax, и он работает просто отлично.
Есть ли какая-то логика, которую я упустил в этой ситуации?
Спасибо!
Редактировать: извините, что не публикуем код.
Вот. Мой код Ajax:
function loadWholePage(url)
{
var y = document.getElementById("storage");
//var x = document.getElementById("displayed");
var x = document.getElementById("content");
loadHTML(url, processHTML, x, y);
}
function loadHTML(url, fun, storage, param)
{
var xhr = createXHR();
xhr.onreadystatechange=function()
{
if(xhr.readyState == 4) // The request is complete
{
//if(xhr.status == 200)
{
storage.innerHTML = getBody(xhr.responseText);
fun( storage, param );
}
}
};
xhr.open("GET", url, true);
xhr.send(null);
}
function getBody(content)
{
test = content.toLowerCase(); // to eliminate case sensitivity
var x = test.indexOf("<body");
if(x == -1) return "";
x = test.indexOf(">", x);
if(x == -1) return "";
var y = test.lastIndexOf("</body>");
if(y == -1) y = test.lastIndexOf("</html>");
if(y == -1) y = content.length; // If no HTML then just grab everything till end
return content.slice(x + 1, y);
}
HTML-файл, который я загружаю с ajax:
<html>
<body>
<form>
<input type="checkbox" name="values" value="" id="chk3" />
<select name="select3" class="test" style="width:7em;" id="select3">
<option VALUE="">0-100</option>
<option VALUE="/tags/">100-200</option>
<option VALUE="/"> 200-300</option>
<option VALUE="/"> 300-400</option>
<option VALUE="/"> 400-500</option>
</select>
<input type="button" class="submit" id="testbutton" style="width:12em;" value="submit" onClick="testIt();">
</form>
</body>
</html>
Я загружаю его, используя:
<li onClick='setSelectedListElement(this);'>
<a onclick="loadWholePage('test.html');">TEST
</a>
</li>
И действительно примитивный скрипт, который должен проверять, установлен ли флажок:)
<script type="text/javascript">
function testIt(){
var x=document.getElementById("chk3").checked;
alert(x);
}
</script>