我有三个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> </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文件。
答案 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>
然而,在我看来,这是一种处理整个结构的丑陋方式。正在进行一些重型重构。