如何在同一分区中加载多个PHP页面


How to load multiple pages of PHP in same division

我有三个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文件。

我猜表单中的内联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>

尽管如此,在我看来,这是一种处理整个结构的丑陋方式。正在进行一些繁重的重构。