html.php表单将布尔单选按钮值呈现为“on”

html.php表单将布尔单选按钮值呈现为“on”,第1张

概述所以我有一个html.php页面,它有三个按钮:“清除页面”,“检索”和“更新详细信息”. 当用户首次打开表单时,它是空白的,他们可以输入id =“siteId”值或id =“siteName”值,然后按“Retrieve”按钮以从mySQL请求存储网站的其余部分详细信息数据库并显示在表单中. 如果用户想要更改/更新任何详细信息,可以使用相同的表单进行更改/更新,然后单击“更新详细信息”按钮将网站 所以我有一个HTML.PHP页面,它有三个按钮:“清除页面”,“检索”和“更新详细信息”.

当用户首次打开表单时,它是空白的,他们可以输入ID =“siteID”值或ID =“sitename”值,然后按“RetrIEve”按钮以从MysqL请求存储网站的其余部分详细信息数据库并显示在表单中.

如果用户想要更改/更新任何详细信息,可以使用相同的表单进行更改/更新,然后单击“更新详细信息”按钮将网站的详细信息推送回数据库.

到目前为止,一切都有些好.但是,在成功显示网站的详细信息后(在从数据库中检索到网站的详细信息之后)单击“更新详细信息”按钮时,单选按钮表示的任何布尔数据都会返回,在数组上使用print_r进行观察.当前价值.

对于每个单选按钮,PHP条件与HTML内联使用,以确定在从数据库检索数据后应检查每个行/字段的哪个单选按钮.这可能就是为什么当按下更新按钮而不是先前确定的布尔值时,表单以某种方式为所有单选按钮设置on值?

如果是这样,可能会有什么问题,因为我需要通过条件检查需要检查任何给定集合的单选按钮?

HTML.PHP页面的片段:

} // close isset IF?>  <h1 ID="heading">Cell Site Details</h1>  <!--fIEldset ID="Site:"-->    <!--legend>Site:</legend-->    <div ID="formContentdiv">      <form ID="formContent" action="#" method="post" accept-charset="utf-8">        <input type="hIDden" name="submitted" value="true">        <div ID="clearPagediv">          <a href="index2.PHP">              <input type="button" ID="buttonClear" name="clearPage"  value="Clear Page">            </a>        </div><!-- closes clearPagediv -->        <div ID="retreivediv">          <input type="submit" ID="buttonRetreive" name="retreive"  value="Retreive">        </div><!-- closes retreivediv -->        <div ID="updatediv">          <input type="submit" ID="buttonUpdate" name="update"  value="Update Details">        </div><!-- closes updatediv -->        <div >          <label>            <span>Site ID:</span>            <input type="text" ID="siteID" name="siteID"  maxlength="" $value="">             <script>              siteID.value = <?PHP echo Json_encode( ucfirst( $siteID ) ); ?>;            </script>          </label>        </div>        <div >          <label>            <span>Site name:</span>            <input type="text" ID="sitename" name="sitename"  maxlength="" $value="test">             <!--input type="submit" value="Retreive"-->            <script>              sitename.value = <?PHP echo Json_encode( ucwords( $sitename ) ); ?>;            </script>          </label>        </div>        <div >          <label>            <span># HSPA BBUs:</span>            <input type="text" ID="numHspaBbu" name="numHspaBbu"  maxlength="" $value="">             <script>              numHspaBbu.value = <?PHP echo Json_encode( $numHspaBbu ); ?>;            </script>          </label>        </div>        <div >          <label>            <span># LTE BBUs:</span>            <input type="text" ID="numLteBbu" name="numLteBbu"  maxlength="" $value="">             <script>              numLteBbu.value = <?PHP echo Json_encode( $numLteBbu ); ?>;            </script>          </label>        </div>        <div >          <label><span>Ext. Alarm Terminations:</span></label>            <label>              <input type="radio" name="extAlarmsTerminated"                <?PHP                  if ( $extAlarmsTerminated == "hspa" ) {                    echo 'checked';                  }                ?>              >              <span>HSPA</span>            </label>            <label>              <input type="radio" name="extAlarmsTerminated"                <?PHP                  if ( $extAlarmsTerminated == "lte" ) {                    echo 'checked';                  }                ?>              >              <span>LTE</span>            </label>            <label>              <input type="radio" name="extAlarmsTerminated"                <?PHP                  if ( $extAlarmsTerminated == "hspa-lte" ) {                    echo 'checked';                  }                ?>              >              <span>HSPA-and-LTE</span>            </label>          </label>        </div><!-- close formRowdiv -->

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很少让我更加危险.以下是我能够拼凑阅读多个类似问题的内容:

<div >      <label>        <span>Site name:</span>        <input type="text" ID="sitename" name="sitename"  maxlength="" $value="test">         <script>          sitename.value = <?PHP echo Json_encode( ucwords( $sitename ) ); ?>;        </script>      </label>    </div>    <script>      $( 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 );            }          });        });      });    </script>

好消息是,当其字段输入值被更改时,我得到Js警报回显$sitename的更改值.我创建了在同一个dir中引用的AJAX.PHP文件,它包含:

<?PHP  echo ( $_GET[ 'sitename' ] );?>

我以为我可以通过以下方式访问此更改的$sitename值:

$sitename = $_GET[ 'sitename' ];

但显然不是.确实有一种方法可以访问这个已更改的PHP var,我认为它现在必须存储在AJAX.PHP中吗?

解决方法 尝试为每个输入复选框分配一个value =属性,例如,您的代码将是:

<input type="radio" name="extAlarmsTerminated" value='HSPA'    ...<input type="radio" name="extAlarmsTerminated" value='lte'    ...<input type="radio" name="extAlarmsTerminated" value='HSPA-lte'

结果:print_r($_ POST)输出:

数组([提交] => true [更新] =>更新详情[siteID] => P6969 [sitename] =>托莱多中心[numHspaBbu] => 1 [numLteBbu] => 1 [extAlarmsTerminated] = > HSPA-lte)

I thought I Could then get access to this changed $sitename value with something like:

$sitename = $_GET[ ‘sitename’ ];
But apparently not.
Is there indeed a way to access this changed PHP var that I think must be Now stored in AJAX.PHP?

首先,你使用POST而不是GET方法,所以你应该寻找$_POST [‘sitename’]

其次,如果您要确保传递正确的值,请在表单中更改此内容< form ID =“formContent”action =“#”method =“post”... 通过
 < form ID =“formContent”action =“test.PHP”method =“post”...
test.PHP包含:

< PHP  echo($_POST [‘sitename’]);?>

总结

以上是内存溢出为你收集整理的html.php表单将布尔单选按钮值呈现为“on”全部内容,希望文章能够帮你解决html.php表单将布尔单选按钮值呈现为“on”所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1053342.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存