Onclick以表格形式提交输入框值到变量并输出到另一个输入框

时间:2013-08-05 16:35:15

标签: php forms variables input submit

我正在开发一个工作设备表单,将其结果输出到CRM(客户关系管理)。

我的问题是,我的客户希望将“街道地址,邮政编码和地区”字段一起输出到CRM中的一个字段中,然后输入到表单上的不同字段中。

所以我认为我应该使用php,当用户点击提交时,它会获取每个字段的值并将其输入到我创建的隐藏字段中。 对于一些共鸣,因为我不是一个PHP专家,它是行不通的。 它实际上没有输出任何值到CRM

这是我到目前为止所得到的:

<form action="https://service.capsulecrm.com/service/newlead" method="post">

    <input name="morada" id="morada" maxlength="255" title="" style="border-style: solid; border-width: 1px; border-color: #cccccc; position: absolute; margin: 0px; padding: 0px; width: 220px; height: 20px; font-family: Tahoma; font-size: 11px; color: #333333; background-color: #ffffff; z-index: 1; left: 189px; top: 397px;" value="" type="text">

    <input name="postal" id="postal" maxlength="255" title="" style="border-style: solid; border-width: 1px; border-color: #cccccc; position: absolute; margin: 0px; padding: 0px; width: 220px; height: 20px; font-family: Tahoma; font-size: 11px; color: #333333; background-color: #ffffff; z-index: 1; left: 189px; top: 437px;" value="" type="text">

    <input name="local" id="local" maxlength="255" title="" style="border-style: solid; border-width: 1px; border-color: #cccccc; position: absolute; margin: 0px; padding: 0px; width: 220px; height: 20px; font-family: Tahoma; font-size: 11px; color: #333333; background-color: #ffffff; z-index: 1; left: 189px; top: 467px;" value="" type="text">


    <?php if ($_POST['submit']) {

    $addressmorada = $_POST['morada'];
    $addresspostal = $_POST['postal'];
    $addresslocal = $_POST['local'];

    echo "<input type='hidden' name='STREET' value='".$addressmorada. " " .$addresspostal. " " .$addresslocal."' />";

    }

    ?>

<input name="submit" type="submit" value="Submit" style="
    border-style: none; border-width: 0px; border-color: #888888; position: absolute; margin: 0px; padding: 0px; width: 93px; height: 33px; z-index: 1; 
    left: 433px; top: 1773px;
    text-indent: 99999999999999px;
    background: green;
    cursor: pointer;
">


</form>

我将尝试解释我的PHP代码,

  1. if语句在提交时调用函数。
  2. 变量获得不同的输入值。
  3. 我回显一个隐藏的输入字段类型,调用变量,以便所有信息都在一个字段中输出到CRM中
  4. 我认为主要问题可能是3号!我会帮助你。 索里,如果我的英语不好,那不是我的母语。

3 个答案:

答案 0 :(得分:2)

两个问题:

1,

   if ($_POST['submit'])
如果没有Notice: Undefined index: submit in ...数据,

会抛出错误:$_POST

应该改为

if (isset($_POST['submit']))

2,$_POST['submit']永远不会发生,因为没有名为name的{​​{1}}属性。您应该将其添加到“提交”按钮:

submit

答案 1 :(得分:1)

您的按钮没有正确的名称。

<input type="submit" value="Submit" name = "submit" >

你有      if($ _POST ['submit'])。

因此应该提交按钮的名称。否则它永远不会进入你的if语句。 用于调试目的 尝试只打印if语句中的所有值。它很有帮助。

答案 2 :(得分:0)

您会混淆服务器端和客户端代码。这里有一个简单的解释,尽管您应该更多地记录自己的HTTP和Web服务器的工作方式:

  • 当用户A请求页面时,会向服务器发送HTTP请求
  • 此请求由Web服务器B处理
  • 根据一些规则(文件扩展名,文件位置......),Web服务器可以决定简单地获取文件并将其发送到客户端A(例如,用于纯HTML文件),或者通过(PHP)首先解释,然后将结果发送给客户端。
  • 在任何情况下,客户端A只接收HTML:此时已经由B执行了PHP。

因此用户请求包含表单的页面。此时他还没有提交任何内容,因此PHP解释器在$_POST中没有任何内容,隐藏的输入为空。

用户填写表单并提交。这会触发带有数据的新HTTP请求。但是当然隐藏的输入仍然是空的,并且永远不会被填充,因为PHP 已经已经执行(并且永远不会是客户端)。

您需要做的是

  • 修改目标脚本(https://service.capsulecrm.com/service/newlead),如果您有权访问它,以便一起加入字段
  • 如果你不能,添加一个作为表单目标的中间PHP脚本,将字段连接在一起并自行发送HTTP请求(例如使用curl)到newlead
  • 或者如果您不想花太多时间,请使用客户端代码(即Javascript)来填充隐藏的输入。但是,您无法确定表单是否会正确提交(用户可以选择禁用Javascript,或者客户端可能根本无法处理它:这对盲文设备来说很常见)。