javascript超链接

javascript超链接,javascript,Javascript,嗨,我写了一个abcd.ftl页面,在另一个defg.page中被调用 abcd.flg页面具有休闲代码 <div class="partnerOptInBox"> <div id="optInContent"> <form name="partnerOptIn"> <h4>Want the Latest</h4> <p cl

嗨,我写了一个abcd.ftl页面,在另一个defg.page中被调用 abcd.flg页面具有休闲代码

 <div class="partnerOptInBox">
        <div id="optInContent">
            <form name="partnerOptIn">
                <h4>Want the Latest</h4>
                <p class="pad10Top">${partnerOpt.translation}</p>
                <div class="pad10Top">
                <input type="radio" name="questionAnswer['${partnerOpt.questionId}']" value="${partnerOpt.getAnswers()[0].answerId}" class="radioButton" /> <label for="questionAnswer['${partnerOpt.questionId}']" class="formLabel pad20Right">Yes</label> <input type="radio" name="questionAnswer['${partnerOpt.questionId}']" class="radioButton" value="${partnerOpt.getAnswers()[1].answerId}" /> <label for="questionAnswer['${partnerOpt.questionId}']" class="formLabel">No</label>
                </div>
                <div id="optInError" class="formError" style="display:none;">Oops... your request did not go through, please try again.</div>
                <div class="pad15Top">
                    <a href="javascript:submitOptIn();"><img src="images/theme/btn_opt_in_submit.gif"/></a>
                </div>                         
            </form>
            <script type="text/javascript">
function submitOptIn() {
    $('optInError').hide();
    dataString = $('#partnerOptIn').serialize();
    $.ajax({
        data: dataString,
        url: partnerOpt.do,
        timeout: 30000,
        type: "POST",
       success: function(html){
            var newHtml = "<h4>Thank you</h4><p>We appreciate your time to respond to our request.</p>";
            $('#optInContent').html(newHtml);
    },
        error: function(){
            $('#optInError').show();
        }
    });
}
</script>

        </div>
    </div>

但是当我点击这个页面上的submit按钮时,它抛出了一个错误,说javascript:submitOptIn未定义。任何人可以尽快告诉我这个错误的原因吗?请谢谢你,我认为你应该把脚本标记放在页面的头部。

javascript不一定要用{literal}括起来吗?

试试:

<a href="#" onClick="javascript:submitOptIn();">...</a>

所有jQuery脚本都应该放在document.load事件中,以确保DOM已加载。尝试将脚本放在以下位置:

$(function() {

   // place your scripts here

});

该代码在IE6、IE7、FF和Chrome上确实有效。。。
这是您在defg.page中发布的所有代码,或者您是从abcd.ftl页面调用它的?

defg页面是我在其中编写以下内容的父页面