【问题标题】:Send form url without JS [closed]发送没有 JS 的表单 url [关闭]
【发布时间】:2014-10-27 16:23:17
【问题描述】:

我有一个表单通过 JS 发送一些变量

<form id="custemail" action="mail/out.php" method="post">
    ....
    <input type="submit" value="Create & Send">
</form>

我需要在 php 端更改帖子 URl。我必须如何更改我的 Js 代码才能正常工作。我的意思是我不想在我的 JS 中使用 url:"mail/out.php"。 或者我可以在 JS 端使用 If else 。但是来自 php 的 vars。所以我不知道如何使用它们。我有 8 种不同的条件。

JS代码:

$('#sending').click(function(){
            $.prompt("What is customer's email?","",
            function(value){        

                $.ajax({
                url: "mail/out.php",
                type: 'POST',
                data: $('#custemail').serialize(),
                } ).done (function(data) {
                    $.msg("Message sent to the '"+value+"'?");
              });

            },
            function(){
                $.msg("You clicked cancel!");
            });
        });

【问题讨论】:

  • 我们能看到 out.php 文件吗?我不确定您需要帮助的部分。

标签: javascript php ajax


【解决方案1】:

你可以使用ajaxSubmit(),让JS从表单的action属性中抓取url。

您也可以通过以下方式自行获取:

var url = $("#custemail").attr("action");

上面的代码将返回表单的 action 属性包含的任何内容,因此您只需在 $.ajax 调用中执行“url: url”即可。

我认为第二种选择要好得多,因为它不需要整个插件来完成,但是包含 ajaxSubmit 的插件非常好,值得一试。

【讨论】:

  • 工作得像; var url = $("#formmail").attr("action"); $.ajax({ url: ''+url+'', 类型: 'POST',
【解决方案2】:

假设 Javascript 是由 PHP 脚本创建的,您可以执行以下操作:

$.ajax({
    url: "<?php echo $url; ?>",
    ...
});

【讨论】:

  • 假设有点过分了。
  • 考虑到 OP 的水平,我认为这并不过分。这看起来像一个微不足道的问题,并且在内联 js 脚本中回显 php vars 很常见。我相信 barmar 会发布理智的答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多