所以我有一个html.php页面,它有三个按钮:“清除页面”,“检索”和“更新详细信息”.
当用户首次打开表单时,它是空白的,他们可以输入id =“siteId”值或id =“siteName”值,然后按“Retrieve”按钮以从mySQL请求存储网站的其余部分详细信息数据库并显示在表单中.
如果用户想要更改/更新任何详细信息,可以使用相同的表单进行更改/更新,然后单击“更新详细信息”按钮将网站的详细信息推送回数据库.
到目前为止,一切都有些好.但是,在成功显示网站的详细信息后(在从数据库中检索到网站的详细信息之后)单击“更新详细信息”按钮时,单选按钮表示的任何布尔数据都会返回,在数组上使用print_r进行观察.当前价值.
对于每个单选按钮,php条件与html内联使用,以确定在从数据库检索数据后应检查每个行/字段的哪个单选按钮.这可能就是为什么当按下更新按钮而不是先前确定的布尔值时,表单以某种方式为所有单选按钮设置on值?
如果是这样,可能会有什么问题,因为我需要通过条件检查需要检查任何给定集合的单选按钮?
html.php页面的片段:
} // close isset IF
?>
Cell Site Details
Site Id:
siteId.value = <?php echo json_encode( ucfirst( $siteId ) ); ?>;
Site Name:
siteName.value = <?php echo json_encode( ucwords( $siteName ) ); ?>;
# HSPA BBUs:
numHspaBbu.value = <?php echo json_encode( $numHspaBbu ); ?>;
# LTE BBUs:
numLteBbu.value = <?php echo json_encode( $numLteBbu ); ?>;
Ext. Alarm Terminations:
if ( $extAlarmsTerminated == "hspa" ) {
echo 'checked';
}
?>
>
HSPA
if ( $extAlarmsTerminated == "lte" ) {
echo 'checked';
}
?>
>
LTE
if ( $extAlarmsTerminated == "hspa-lte" ) {
echo 'checked';
}
?>
>
HSPA-and-LTE
var $extAlarmsTerminated是以下网站详细信息数组中的一个这样的单选按钮组:
$inputVals = array( $siteId, $siteName, $numHspaBbu, $numLteBbu, $extAlarmsTerminated );
print_r( $inputVals );
print_r输出首先显示,用户按下Retrieval按钮后显示的布尔单选按钮值:
Array ( [0] => P6969 [1] => Toledo Centre [2] => 1 [3] => 1 [4] => hspa-lte
print_r输出显示用户按下“更新详细信息”按钮后相同站点详细信息的单选按钮值:
Array ( [0] => P6969 [1] => Toledo Centre [2] => 1 [3] => 1 [4] => on )
编辑:
我将从DB中检索到的每个字段输入值分配给PHP $_SESSION var,并且当单击“更新详细信息”按钮时,将引用$_SESSION变量,这解决了正在分配单选按钮的原始问题.
但我仍然无法保存用户可能进行的细节更改.我已经研究过JS / AJAX作为实现这个目标的可能方法,但是我知道的那个JS很少让我更加危险.以下是我能够拼凑阅读多个类似问题的内容:
Site Name:
siteName.value = <?php echo json_encode( ucwords( $siteName ) ); ?>;
$( document ).ready( function() {
$( "#siteName" ).on( 'change', function() {
var siteName = document.getElementById( 'siteName' ).value;
$.ajax ({
url: 'ajax.php',
data: { siteName : siteName },
success: function( result ) {
alert( 'Site Name value changed to: ' + siteName );
}
});
});
});
好消息是,当其字段输入值被更改时,我得到JS警报回显$siteName的更改值.我创建了在同一个dir中引用的ajax.php文件,它包含:
echo ( $_GET[ 'siteName' ] );
?>
我以为我可以通过以下方式访问此更改的$siteName值:
$siteName = $_GET[ 'siteName' ];
但显然不是.确实有一种方法可以访问这个已更改的PHP var,我认为它现在必须存储在ajax.php中吗?