【问题标题】:passing JavaScript value to PHP and POST it (same file)将 JavaScript 值传递给 PHP 并发布它(同一个文件)
【发布时间】:2013-09-27 11:25:40
【问题描述】:

我有一个名为 sendform.php 的文件,其中包含一个 POST 数据并通过邮件发送的表单。

现在我有一个 JavaScript 函数,可以将 4 个不同选择字段的选择选项相乘。

        <script language="javascript">
        function Calculate()
        {
            var h = document.getElementById('bedrag-bol').value;
            var l = document.getElementById('aantal-bol').value;
            var h2 = document.getElementById('bedrag-gamma').value;
            var l2 = document.getElementById('aantal-gamma').value;
            var h3 = document.getElementById('bedrag-douglas').value;
            var l3 = document.getElementById('aantal-douglas').value;
            var h4 = document.getElementById('bedrag-bartsmit').value;
            var l4 = document.getElementById('aantal-bartsmit').value;
            var result = h * l * 10 + h2 *l2 * 10 + h3 * l3 * 10 + h4 * l4 * 10;
            document.getElementById('totaal').innerHTML = result;
        }
    </script>
                    <form name="aanvraag" method="post" action="index.php?p=<?php echo $_GET['p']; ?>&amp;action=checkform">
                    <table width="700" cellpadding="3" cellspacing="3">
    <tr>
        <td><img src="bestanden/spaaractie/bol.png"  /></td>
        <td><img src="bestanden/spaaractie/gamma.png"  /></td>
        <td><img src="bestanden/spaaractie/douglas.png"  /></td>
        <td><img src="bestanden/spaaractie/bartsmit.png"  /></td>
    </tr>
    <tr>
        <td><select id="bedrag-bol" name="bedrag-bol" onChange="Calculate();">
                <option value="0" selected="selected">Kies uw bedrag</option>
                <option value="5" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['bedrag-bol']) == "5") {echo "selected='selected'"; } ?>>&euro; 5,00</option>
                <option value="10" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['bedrag-bol']) == "10") {echo "selected='selected'"; } ?>>&euro; 10,00</option>
                <option value="25" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['bedrag-bol']) == "25") {echo "selected='selected'"; } ?>>&euro; 25,00</option>
                <option value="50" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['bedrag-bol']) == "50") {echo "selected='selected'"; } ?>>&euro; 50,00</option>
            </select>
        </td>
        <td><select id="bedrag-gamma" name="bedrag-gamma" onChange="Calculate();">
                <option value="0" selected="selected">Kies uw bedrag</option>
                <option value="5" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['bedrag-gamma']) == "5") {echo "selected='selected'"; } ?>>&euro; 5,00</option>
                <option value="10" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['bedrag-gamma']) == "10") {echo "selected='selected'"; } ?>>&euro; 10,00</option>
                <option value="25" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['bedrag-gamma']) == "25") {echo "selected='selected'"; } ?>>&euro; 25,00</option>
                <option value="50" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['bedrag-gamma']) == "50") {echo "selected='selected'"; } ?>>&euro; 50,00</option>
            </select>
        </td>
        <td><select id="bedrag-douglas" name="bedrag-douglas" onChange="Calculate();">
                <option value="0" selected="selected">Kies uw bedrag</option>
                <option value="10" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['bedrag-douglas']) == "10") {echo "selected='selected'"; } ?>>&euro; 10,00</option>
                <option value="25" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['bedrag-douglas']) === "25") {echo "selected='selected'"; } ?>>&euro; 25,00</option>
                <option value="50" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['bedrag-douglas']) == "50") {echo "selected='selected'"; } ?>>&euro; 50,00</option>
            </select>
        </td>
        <td><select id="bedrag-bartsmit" name="bedrag-bartsmit" onChange="Calculate();">
                <option value="0" selected="selected">Kies uw bedrag</option>
                <option value="5" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['bedrag-bartsmit']) == "5") {echo "selected='selected'"; } ?>>&euro; 5,00</option>
                <option value="10" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['bedrag-bartsmit']) === "10") {echo "selected='selected'"; } ?>>&euro; 10,00</option>
                <option value="25" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['bedrag-bartsmit']) == "25") {echo "selected='selected'"; } ?>>&euro; 25,00</option>
                <option value="50" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['bedrag-bartsmit']) == "50") {echo "selected='selected'"; } ?>>&euro; 50,00</option>
            </select>
        </td>
    </tr>
    <tr>
        <td><select id="aantal-bol" name="aantal-bol" onChange="Calculate();">
                <option value="0" selected="selected">Kies het aantal</option>
                <option value="1" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-bol']) == "1") {echo "selected='selected'"; } ?>>1</option>
                <option value="2" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-bol']) == "2") {echo "selected='selected'"; } ?>>2</option>
                <option value="3" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-bol']) == "3") {echo "selected='selected'"; } ?>>3</option>
                <option value="4" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-bol']) == "4") {echo "selected='selected'"; } ?>>4</option>
                <option value="5" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-bol']) == "5") {echo "selected='selected'"; } ?>>5</option>
                <option value="6" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-bol']) == "6") {echo "selected='selected'"; } ?>>6</option>
                <option value="7" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-bol']) == "7") {echo "selected='selected'"; } ?>>7</option>
                <option value="8" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-bol']) == "8") {echo "selected='selected'"; } ?>>8</option>
                <option value="9" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-bol']) == "9") {echo "selected='selected'"; } ?>>9</option>
                <option value="10" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-bol']) == "10") {echo "selected='selected'"; } ?>>10</option>
            </select>
        </td>
        <td><select id="aantal-gamma" name="aantal-gamma" onChange="Calculate();">
                <option value="0" selected="selected">Kies het aantal</option>
                <option value="1" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-gamma']) == "1") {echo "selected='selected'"; } ?>>1</option>
                <option value="2" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-gamma']) == "2") {echo "selected='selected'"; } ?>>2</option>
                <option value="3" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-gamma']) == "3") {echo "selected='selected'"; } ?>>3</option>
                <option value="4" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-gamma']) == "4") {echo "selected='selected'"; } ?>>4</option>
                <option value="5" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-gamma']) == "5") {echo "selected='selected'"; } ?>>5</option>
                <option value="6" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-gamma']) == "6") {echo "selected='selected'"; } ?>>6</option>
                <option value="7" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-gamma']) == "7") {echo "selected='selected'"; } ?>>7</option>
                <option value="8" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-gamma']) == "8") {echo "selected='selected'"; } ?>>8</option>
                <option value="9" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-gamma']) == "9") {echo "selected='selected'"; } ?>>9</option>
                <option value="10" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-gamma']) == "10") {echo "selected='selected'"; } ?>>10</option>
            </select>
        </td>
        <td><select id="aantal-douglas" name="aantal-douglas" onChange="Calculate();">
                <option value="0" selected="selected">Kies het aantal</option>
                <option value="1" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-douglas']) == "1") {echo "selected='selected'"; } ?>>1</option>
                <option value="2" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-douglas']) == "2") {echo "selected='selected'"; } ?>>2</option>
                <option value="3" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-douglas']) == "3") {echo "selected='selected'"; } ?>>3</option>
                <option value="4" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-douglas']) == "4") {echo "selected='selected'"; } ?>>4</option>
                <option value="5" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-douglas']) == "5") {echo "selected='selected'"; } ?>>5</option>
                <option value="6" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-douglas']) == "6") {echo "selected='selected'"; } ?>>6</option>
                <option value="7" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-douglas']) == "7") {echo "selected='selected'"; } ?>>7</option>
                <option value="8" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-douglas']) == "8") {echo "selected='selected'"; } ?>>8</option>
                <option value="9" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-douglas']) == "9") {echo "selected='selected'"; } ?>>9</option>
                <option value="10" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-douglas']) == "10") {echo "selected='selected'"; } ?>>10</option>
            </select>
        </td>
        <td><select id="aantal-bartsmit" name="aantal-bartsmit" onChange="Calculate();">
                <option value="0" selected="selected">Kies het aantal</option>
                <option value="1" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-bartsmit']) == "1") {echo "selected='selected'"; } ?>>1</option>
                <option value="2" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-bartsmit']) == "2") {echo "selected='selected'"; } ?>>2</option>
                <option value="3" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-bartsmit']) == "3") {echo "selected='selected'"; } ?>>3</option>
                <option value="4" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-bartsmit']) == "4") {echo "selected='selected'"; } ?>>4</option>
                <option value="5" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-bartsmit']) == "5") {echo "selected='selected'"; } ?>>5</option>
                <option value="6" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-bartsmit']) == "6") {echo "selected='selected'"; } ?>>6</option>
                <option value="7" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-bartsmit']) == "7") {echo "selected='selected'"; } ?>>7</option>
                <option value="8" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-bartsmit']) == "8") {echo "selected='selected'"; } ?>>8</option>
                <option value="9" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-bartsmit']) == "9") {echo "selected='selected'"; } ?>>9</option>
                <option value="10" <?php if(isset($_POST['Submitform']) && strip_tags($_POST['aantal-bartsmit']) == "10") {echo "selected='selected'"; } ?>>10</option>
            </select>
        </td>
    </tr>
</table>
<div style="margin-left:15px; margin-top:20px;"><span id="totaal" style="color:#F00;">0</span></div>
                        
                        <div id="fm-submit">
                            <input name="Submitform" value="Verstuur" type="submit" />
                        </div>
                

</form> 

是否可以使用 PHP 发布 JavaScript 变量?我找到了一些关于它的文章,我知道这是可能的,但我无法弄清楚。

【问题讨论】:

  • 您是否偶然看到了 AJAX 一词? here's a rather elaborate example 不过google “XMLHttpRequest AJAX 教程”
  • Ajax 不需要这样做。你也可以有一个&lt;input type="hidden"&gt; 并更新它的.value。如果您想传递除字符串以外的任何其他内容,请查看 JSON。
  • @Christoph:这里不需要 AJAX(没有正确阅读问题),但我对隐藏字段不太感兴趣。也许更改 change 事件的 value 属性可能会更好?
  • 使用隐藏字段没有错。一旦用 JS 填写了值,就可以“正常”提交表单而无需任何额外的努力,并且服务器端脚本可以像任何其他 POST 参数一样访问该值……没有比这更容易的了。

标签: javascript php


【解决方案1】:

感谢大家的回复

这成功了:

Javascript:

document.aanvraag.totaal.value = result; //assign value to hidden input element.

HTML

<input type="hidden" name="totaal" id="totaal" value="" />

@Christoph 谢谢!:)

【讨论】:

    【解决方案2】:

    查看表格

     <form name="aanvraag" method="post" action="" onsubmit="Calculate()">
    

    在此处编写所有 HTML 并包含隐藏字段

    <input type="hidden" name="totaal" id="totaal" value="" />
    
    <input name="Submitform" value="Verstuur" type="submit" />
    
    </form>
    

    当您提交此表单时,在提交之前,表单计算函数将调用并粘贴 隐藏字段中的总值,然后使用您给定的 URL 发布所有值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-27
      • 1970-01-01
      • 2015-11-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多