【问题标题】:submitting form don't go as expected提交表单没有按预期进行
【发布时间】:2015-07-28 00:18:55
【问题描述】:

我什至不知道如何搜索这个,但我还是尝试了,但一无所获。如果已经回答,我道歉。 我有这个表格:

<form>
<div style="width:140px;float:left">Nro Socio: <input type="text" id="legajo" name="legajo" size="10" /></div>
<div style="width:200px;float:left">Nombres: <input type="text" id="nombre" name="nombre" size="22" /></div>
<div style="width:200px;float:left">Apellido: <input type="text" id="apellido" name="apellido" size="22" /></div>
<div style="width:50px;float:left"><input type="submit" id="srch" name="srch" value="Buscar" onclick="offen()" /></div>
</form>

offen() 的去向:

function offen()
{
$sid = document.getElementById('legajo').value;
$nom = document.getElementById('nombre').value;
$ap = document.getElementById('apellido').value;
if ($sid == "" && $nom == "" && $ap == "") alert ("No se ha ingresado ningún parametro de búsqueda");
else var wnd=window.open('../php/srchSoc.php?sid='+$sid+'&nom='+$nom+'&ap='+$ap,'mywindow',
'width=680,height=350,location=0,menubar=0,toolbar=0,location=0');
}

为什么我这样做而不是使用 target="_blank" 或 "_new"?因为我需要它像弹出窗口一样,我发现无法通过表单本身实现它。

页面 srchSoc.php 进行一些查询,如果结果行只有 1 行,则自动将打开器位置设置为同一页面,但使用 $_GET 值。即:'..site/bSoc.php 转'到'..site/bSoc.php?s=1'

相反,我发现 '..site/bSoc.php' 变成了 '..site/bSoc.php?legajo=&nombre=&apellido=' 就像表单字段名称一样。

我在 srchSoc.php 上设置开瓶器位置的功能如下:

<script>window.opener.location='../files/bSoc.php?soc=".$row['c_socio']."';
 window.close();</script>

其中$row['c_socio']是查询结果的一列。

【问题讨论】:

    标签: php forms get


    【解决方案1】:

    您需要阻止正常的表单提交。将表单提交按钮更改为:

    <input type="submit" id="srch" name="srch" value="Buscar" onclick="offen(); return false;" />
    

    return false 阻止提交按钮提交表单。

    【讨论】:

      【解决方案2】:

      为什么不简单地使用

      <form method="get" action="fileyouwanttogo.php">
      

      【讨论】:

      • 因为它会打开一个新标签,我希望它像弹出窗口一样,带有一个新的自定义大小窗口。
      • 对不起,我当时不明白。这是我认为您正在寻找的帖子:stackoverflow.com/questions/12291523/…
      • 这可行,但我宁愿不开始使用我不知道的东西,比如fancybox,因为我没有太多时间来做这件事。我忘了说的另一件事是,如果我删除&lt;form&gt;,一切正常,但它不允许我从键盘输入“enter”。
      • 哦,好吧,这让事情变得更容易了。只需搜索输入字符,如果按下该字符,则还运行 javascript 函数。不是很花哨,但它会起作用。
      • 这并没有提供问题的答案。要批评或要求作者澄清,请在其帖子下方发表评论。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-24
      • 1970-01-01
      • 2010-10-11
      • 2017-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多