【问题标题】:Javascript, PHP, Saving field valueJavascript,PHP,保存字段值
【发布时间】:2012-07-29 13:33:14
【问题描述】:

我试图在提交后保存字段数据,因为毕竟所有字段都很好,但是让我们说在服务器端用户名已经被占用,所以表单返回空,我不希望有选项像这样用 PHP 做:

<input value="<?php if(isset($userName)) echo $userName; ?>" />

但问题在于收音机输入,如果有人可以考虑使用 PHP 解决收音机问题,我将非常感激,我也在考虑 Javascript,所以我会清理代码,我正在考虑取值来自 URL,但出于安全原因,我使用 POST。

总结:如果有人有 PHP 或 Javascript 的解决方案,我将非常感激,谢谢大家,祝你有美好的一天。

【问题讨论】:

  • 各位,谢谢你的回答,但我不明白它们是如何工作的,如果你上传你的代码,我会很高兴,这样我就可以看到它是如何工作的,再次感谢。
  • 您表单的action 属性,是回发到同一页面还是另一个页面?
  • 所有数据都在同一页面发布。

标签: php javascript input save


【解决方案1】:

试试这个

<form name="myform" action="" method="post">
<input type="radio" name="language" value="Java" <?php echo(@$_POST['language'] == 'Java'?"checked":""); ?> /> Java
<input type="radio" name="language" value="VB.Net" <?php echo(@$_POST['language'] == 'VB.Net'?"checked":""); ?>  /> VB.Net
<input type="radio" name="language" value="PHP" <?php echo(@$_POST['language'] == 'PHP'?"checked":""); ?>  /> PHP

<input type="submit" />

【讨论】:

  • 谢谢codingbiz,它的工作,你能告诉我为什么在帖子前@吗?
  • @uBlankText 这是一个错误抑制操作符,如果$_POST['language']没有定义它不会显示错误。看到这个:php.net/manual/en/language.operators.errorcontrol.php
  • 谢谢HoLyVieR,所以它就像@echo off,如果我理解正确,错误是检查未定义索引,因为语言索引还没有发布,对吗?
  • @uBlankText 是的,当您第一次加载该页面时,将没有任何可用的 POST 数据,因此无法找到索引。
  • 我想我找到了一种方法请看一下: 更少的代码。
【解决方案2】:

我认为这可能会对你有所帮助。

<input type="radio" value="choice1" name="radio_name" <?php echo(@$_POST['radio_name'] == 'on'?"checked":""); ?> />

【讨论】:

    【解决方案3】:

    如果你想自动选择一个单选输入,你可以添加属性checked 到它。您将需要的内容如下所示:

    <form method="POST">
        <?php
    
            // You have some short of list of possible value //
            $arrRadioValues = array("value1", "value2", "value3");
    
            // You display them //
            for ($i=0; $i<count($arrRadioValues); $i++) {
                ?>
                    <input 
                        type="radio" 
                        name="radioInputName" 
                        value="<?php echo $arrRadioValues[$i]; ?>" 
                        <!-- If the value that was posted is the current one we have to add the "checked" so that it gets selected -->
                        <?php if (isset($_POST['radioInputName']) && $_POST['radioInputName'] == $arrRadioValues[$i]) { echo " checked"; } ?> />
                <?php
            }
    
        ?>
    
        <input type="submit" />
    </form>
    

    添加checked 属性与为输入设置值有点类似。只是当您希望选择该收音机时,您无需定义value 属性,而是定义checked 属性。

    【讨论】:

    • 谢谢HoLyVieR 的回答,但我不明白for 循环你能把你的代码上传到在线引擎,这样我就可以看看它是如何工作的,因为我不知道如何在我的代码,再次感谢。
    • @uBlankText 通常,您的单选按钮会有一些值列表,然后循环输入这些值以显示所有单选控件。当您传递与发布的值具有相同值的值时,您只需添加checked 属性。
    • 谢谢HoLyVieR,祝您有美好的一天。
    猜你喜欢
    • 2013-10-09
    • 2016-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-30
    • 2011-08-15
    • 1970-01-01
    相关资源
    最近更新 更多