Проверка формы ajax и javascript - PullRequest
0 голосов
/ 08 марта 2011

Я использовал 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>

1 Ответ

0 голосов
/ 02 июля 2013

Как только ваша страница загружена, щелкните правой кнопкой мыши -> View Source и проверьте идентификаторы ваших элементов управления, которые генерируются во время выполнения. Попробуйте использовать эти идентификаторы элементов управления (флажки и т. Д.) И проверьте, запущены проверки или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...