주어진 사이트의 모든 서비스 로그를 테이블에 표시하는 PHP 페이지가 있습니다.양식 문제 제출 : TypeError : this.form is null
테이블 끝에 "새 서비스 로그 추가"단추가있는 새 행이 있습니다.
버튼을 클릭하면 해당 행이 숨겨지고 양식과 원하는 입력이있는 새 행과 "저장"및 "취소"버튼이있는 새로운 행이 표시됩니다.
"저장"버튼은 키 입력이 채워 졌는지 확인하는 Javascript 기능을 호출합니다.
// SQL Query
// Table data of queried results
// Add a new service log
echo "<tr id='AddNew'>
<td><input type=button value='Add New' onclick=\"$('#AddNew').hide();$('#AddNewHid').show();$('#SaveCancel').show();\"></td>
<td colspan=12>   </td></tr>
<form name='AddNewLog' method='POST' action='servicelook.php' id='AddNewService'>
<tr style='display: none;' id='AddNewHid'>
<td><input type='text' value='$lastID' name='ticketid' size=10></td>
<td><input type='text' value='$siteID' name='SiteID' size=4></td>
<td><input type='text' value='$siteName' name='SiteName' size=20></td>
<td><input type='text' value='$userid' name='takenBy' size=4></td>
<td><input type='text' value='$now' name='callTime' size=20></td>
<td><input type='text' value='' name='caller' size=20></td>
<td><input type='text' value='' name='callPhone' size=14></td>
<td><textarea name='issue' value = '' rows=3 cols=10></textarea></td>
<td><textarea name='fix' value = '' rows=3 cols=10></textarea></td>
<td><input type='text' value='$userid' name='solvedBy' size=4></td>
<td><input type='text' value='$now' name='solvedTime' size=20></td>
<td style='min-width:100px;max-width:100px;'><input type='checkbox' name='fup' value='fup'>Follow Up</td></tr>
<input type='hidden' value='Yes' name='AddNew'>
<input type='hidden' value='$userid' name='userid'>
<input type='hidden' value='$session' name='session'>
<input type='hidden' value='$siteid' name='siteid'>
<tr style='display: none;' id='SaveCancel'>
<td colspan=2>
<input name='save' type='button' onclick='inputCheck(this.form.issue);' value='Save'>  
<input type='button' value='Cancel' onclick=\"$('#AddNew').show();$('#AddNewHid').hide();$('#SaveCancel').hide();\"></td>
<td colspan=11>   </td>
</tr></form>";
echo "</table>";
내 inputCheck 기능은 다음과 같습니다 :
<script type="text/javascript">
function inputCheck(areaName)
{
console.log("checking...");
if (areaName.value.length > 0)
{
$('form#AddNewService').submit();
}
else
{
alert("You didn't describe the problem!");
}
} // end noteCheck function
</script>
내가 제출 변경 시도 "저장"타격 때, 나는 콘솔 로그 여기
TypeError: this.form is null
에서 보는 내 코드입니다 버튼을
<input type=submit value=Save>
하지만 아무 일도 일어나지 않으며 페이지 나 로그에는 아무 것도 나타나지 않습니다.
누구나 내가 뭘 잘못하고 있는지 또는 여기에 어떤 문제가 있는지 알 수 있습니까?
미리 감사드립니다.
편집 :
스티븐의 조언을 사용한 후, 나는 성공적으로 양식을 제출 할 수 있었다. 그러나 입력이 제대로 보내지지 않습니다. 표가 다시로드되고 사용자가 최신 항목을 볼 수 있도록 동일한 페이지로 제출하고 있습니다. 스크립트 시작 부분에 다음과 같이 입력했습니다.
if($AddNew == 'Yes')
{
echo "YES...Adding New";
echo $ticketid .$SiteID. $SiteName. $takenBy. $callTime. $caller. $callPhone. $issue. $fix. $solvedBy. $solvedTime;
// Start SQL Query
}
입력이 null을 반환합니다. 입력 사항을 설정하는 방식에 문제가 있습니까?
'
고마워. 내 코드에서 이것을 변경했습니다. – user1504583
두 답이 모두 정확하고 내 문제를 해결했지만 스티븐의 대답은 원래 질문의 문제를 해결했지만 스티븐과 롭은 모두 신용을 얻어야합니다. 고마워요! – user1504583