如何在同一个部门加载多页PHP

时间:2013-12-13 10:35:09

标签: javascript php jquery html ajax

我有三个PHP页面。在第一个文件中,有两个分区,其中一个分区包含超链接URL列表,第二个分区加载单击的超链接URL的输出。以下是第一个文件的片段:

<script> 
$(document).ready(function() {
$('a').each(function(){ 
$(this).on("click",function(e) {
console.log(e);
e.preventDefault();
$('#sidebar').load($(this).attr('href'));
  });
 });

 </script>

<div id="content"> Sidebar <p> &nbsp; </p>
<div class="form">
 <pre>
 <a href=sample_form1.php><b>Psychotic Drug</b></a><p>
 <a href=sample_form2.php><b>Antibiotic</b></a><p>
 <a href=sample_form3.php><b>Pain killer</b></a><p>
 <a href=sample_form4.php><b>Anti viral</b></a><p>
 </pre>

</div>

在第二个文件中,我有在第一个文件的第二个分区中打开的表单。以下是第二个文件的代码段:

function validateForm()
{
 var x=document.forms["drugForm"]["dname"].value;
 var y=document.drugForm.drug;
//var y = new Array();

if (x==null || x=="")
{
alert("First name must be filled out");
return false;
}
else if (Boolean(x))
{
for(k=0;k<y.length;k++)
{
    if(y[k].checked)
    {
        alert(" " + y[k].value);
        return true;
    }
}
alert("Check one checkbox at least");
return false;
}

}
</script>


 <form name="drugForm" action="form1.php" onsubmit="return validateForm()" method="post">
Drug name: <input type="text" name="dname"></pre>
<pre>

<input type="checkbox" name="drug" value="ID">DRUG-ID       <input type="checkbox" name="drug" value="Tree">Drug Tree</br>
<input type="checkbox" name="drug" value="Node">Node        <input type="checkbox" name="drug" value="patent">Patent</br></br>
    <input type="submit" value="Submit">
</pre>
</form>

我想在第一个文件的第二个分区中加载此文件,这是根据需要进行的。但每当我尝试提交输入时,表单仍然没有响应。即表单条目未被接受且onclick功能不起作用。请指导我如何在一个部门中加载多个PHP / HTML文件。

1 个答案:

答案 0 :(得分:0)

我猜你的表单中的内联js不是由jQuery的ajax函数评估的($ .load只是一个快捷方式)。

您可以尝试移动该部分,而不是主文件,其中包含:

<script> 
$(document).ready(function() {
    $('a').each(function(){ 
        $(this).on("click",function(e) {
            console.log(e);
            e.preventDefault();
            $('#sidebar').load($(this).attr('href'));
    });

    $(document).on('submit','form[name=drugForm]',function() {
     var x=document.forms["drugForm"]["dname"].value;
     var y=document.drugForm.drug;
     if (x==null || x=="") {
         alert("First name must be filled out");
             return false;
         } else if (Boolean(x)) {
             for(k=0;k<y.length;k++) {
                 if(y[k].checked)     {
                     alert(" " + y[k].value);
                    return true;
             }
         } 
         alert("Check one checkbox at least");
         return false;
    });
});
 </script>

然而,在我看来,这是一种处理整个结构的丑陋方式。正在进行一些重型重构。