【问题标题】:Post variable on hyperlink在超链接上发布变量
【发布时间】:2023-03-11 21:17:01
【问题描述】:

我的php 页面中有一个下拉列表,该列表超链接到不同服务器上包含的不同页面; htmlasp.net 页面等。

这些页面的 URL 不包含与下拉列表相同的域名。因此,为了防止用户直接在地址栏中输入网址,我想在用户点击列表中的某个项目时发布一个变量。

此变量将通过超链接 URL 发送。 asp.net 页面会检查变量是否随请求一起接收,如果是则页面将加载,否则 asp.net 页面会将用户重定向到我的主页。

我的问题:发布变量的过程是什么?需要在超链接中包含此变量的位置。我完全迷路了。

编辑:我试图通过form.submit发帖

<li><form id="sampleForm" name="sampleForm" method="post">
<input type="hidden" name="total" id="total" value="">
<a onclick="setValue();">ELMSTest</a>
</form></li>

<script type="text/javascript">
function setValue(){
    document.sampleForm.total.value = 100;
    document.forms["sampleForm"].submit();
}
</script>

我不知道如何从这里开始。

【问题讨论】:

  • 如果你想 POST (= HTTP POST METHOD),你需要一个使用这个方法的表单,或者一个 AJAX POST 调用。我必须承认我并不真正理解你想要达到的目标。
  • @Bartdude 请查看编辑。
  • 您的表单缺少一个 actionattribute 指示您要发布的位置(=URL)。除此之外,如果我们不讨论内联 javascript,从我看到它的地方,这段代码应该可以工作。
  • action 中,我将调用一个php 文件test.php。但是,这个文件需要做什么?我需要打电话给像header('Location: www.abc.com/form.asp'); 这样的超链接吗?是吗?

标签: javascript php jquery html asp.net


【解决方案1】:

在您使用 POST 操作时尝试此操作。您的身份是因为您的标签上有 `method="post"。

`<form id="sampleForm" name="sampleForm" method="post">`

因为您没有action="script.php",它会将您的输入发送到生成此页面的脚本并再次运行它。所以假设这被称为script.php...

在 script.php 的 PHP 代码中,数据将在 $_POST 数组中传递给您。

<?php

    if ( isset($_POST['total'] && $_POST['total'] == 1 ) {
        // I have a foo variable with the value of one. So do something with it.
    }

如果您想使用 get 操作或将变量添加到超链接:

www.domain.net/script.php?foo=1&bar=2

? 启动变量列表,querystring 如果您想传递多个变量,每个变量都由 &amp; 分隔。

当然,变量会在 $_GET 数组中传递给您的 PHP 代码。

<?php

    if ( isset($_GET['foo'] && $_GET['foo'] == 1 ) {
        // I have a foo variable with the value of one. So do something with it.
    }

    if ( isset($_GET['bar'] && $_GET['bar'] == 2 ) {
        // I have a bar variable with the value of two. So do something with it.
    }

【讨论】:

  • 如果我将www.domain.net/script.php?foo=1&amp;bar=2 添加到超链接,是否全部都需要?我不明白GET php 脚本。这个去哪儿了?
  • 暂时忽略它,因为您正在使用 POST。但是,例如,如果您在页面上有一张图片,并且您希望用户点击它时将其发送到另一个页面,您可以将 标记包装在锚点 &lt;a&gt; 标记和锚点标记的 href 中可能看起来像 www.domain.net/script.php?foo=1&amp;bar=2
  • 另外,您不需要使用 javascript 提交表单,您只需在 &lt;form&gt;&lt;/form&gt; tags ` 当用户点击按钮时,表单被提交
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-16
  • 1970-01-01
相关资源
最近更新 更多