繁体   English   中英

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

[英]Onclick submit, in a form, get inputbox value into variable and output it into another inputbox

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

我的问题是我的客户想要在表格中的不同字段中输入后,在CRM中的单个字段中一起输出“Street Adress,Postal Code and locality”字段。

所以我认为我应该使用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中

我认为主要问题可能是3号! 我会帮助你。 索里,如果我的英语不好,那不是我的母语。

两个问题:

1,

   if ($_POST['submit'])

将抛出错误: Notice: Undefined index: submit in ...如果没有$_POST数据,则Notice: Undefined index: submit in ...

它应该改为

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

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

<input type="submit" value="Submit" name="submit" style="[STYLES_HERE]">

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

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

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

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

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

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

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

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

你需要做的是

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM