标记onclick中的JavaScript代码

标记onclick中的JavaScript代码,javascript,json,closures,Javascript,Json,Closures,我需要做一些丑陋的事情。但我不能用另一种方式。我需要的是 <a href='some/url/?with&params' onclick="(if confirm('Do you wanna submit?') {some code to submit form in href property})"> 但我不知道如何使内联脚本工作。。。我对使用window.location或document.location提交的方式犹豫不决。有什么想法吗?试试这个: 在

我需要做一些丑陋的事情。但我不能用另一种方式。我需要的是

<a href='some/url/?with&params' onclick="(if confirm('Do you wanna submit?')
    {some code to submit form in href property})">  

但我不知道如何使内联脚本工作。。。我对使用window.location或document.location提交的方式犹豫不决。有什么想法吗?

试试这个:

在html上:

<a href='some/url/?with&params' onclick="if (confirm('Do you wanna submit?')) return MyValidation.actionSubmit();">Submit</a>

<script type="text/javascript" src="myValidation.js" />
看看这个:


  • 你听说过AJAX吗?如果你不这样做,用谷歌搜索一下。 onClick参数接受带或不带参数的函数名,而不是“内联脚本”

    
    函数doStuff(){
    如果(确认(“提交”){
    //使用AJAX完成您的工作,使用¶ms/url/
    }
    }
    
    为什么需要这样做?以字符串形式编写代码最终肯定会带来问题。这将很难维护,而且您将无法从IDE验证潜在语法错误中获益。我需要添加两个链接以提交具有给定url的表单…我被发送到onlu widjets文件(django应用程序)…我没有模板和表单源代码…JavaScript的优点在于它可以轻松地注入到其他环境中。只需添加自己的脚本,等待DOM准备就绪,然后使用jQuery或其他方法来识别该href(给它一个类/id)然后在回调中编写所有事件代码,我尝试了这个…但它破坏了布局,我不知道为什么…也许我上次做错了什么。破坏了布局?内联编码无法解决这个问题。发布html+css+js以便我们能帮上忙。我发现一个错误)这是我的错)你给出的代码很好!但是仍然有一个问题。。。如何通过给定链接提交表单?有人建议我使用window.location,但我是javascript的新手……好吧,这类问题很简单。在这种情况下,您应该首先搜索。我发现这个答案涵盖了你的问题。问题本身有一个jQuery解决方案;尝试使用@hasen-j提供的函数
    get_form
    ,您将从中了解更多。然而,随着时间的推移,您将了解Javascript的工作原理,然后您将能够使用类似的API。看。我听说了,但是如果表单不返回任何内容,它会正常工作吗?您可以在onclick中包含jquery的完整代码(不要尝试:)-它不仅限于函数名。不过,并不是说你应该在onclick中加入很多逻辑,只是澄清一下。
    ; //starts with this to close other js not yet closed
    var MyValidation = {
    
        actionSubmit : function() {
    
                //your code go here
    
                //example of calling another function
                MyValidation.anotherFunction();
    
                //example of accessing a global variable (for your validation)
                MyValidation.variable;
    
                //example of declaring local variable
                var word = "hello";
    
                //example of calling another function with parameters
                MyValidation.anotherFunctionWithParameters(word, MyValidation.variable);
    
                //the returning
                return MyValidation.someValidation(word);
        }
    
        //Yes, this is a comma. 
        //I'm putting in the beginning so we see this and didn't forget :)
        ,anotherFunction : function() {
    
                //some code
                //maybe a return
        }
    
        ,variable : {}
    
        ,anotherFunctionWithParameters : function(param1, param2) {
    
                //more code, maybe a return
        }
    
        ,someValidation : function(parameter) {
            //some validation
            return true|false;
        }
    
    };
    
    <script type=text/javascript>
      function doStuff(){
          if(confirm("Submit?"){
           //do your stuff with AJAX to some/url/?with&params
    
         }
      }
    </script>
    <a href='javascript:doStuff'>link</a>