如何将值传递给href属性和目标?

时间:2016-03-03 11:22:05

标签: javascript jquery html internet-explorer cross-browser

我做了以下jquery脚本。我试图在新标签中打开此网址,但这在Internet Explorer上不起作用。如何将值传递给按钮,以便我可以在新选项卡中打开?

var checkSurl = "<%=checkSURL%>";
        var iframeDetalleSOnLoad = function(obj) {
            $(obj).show();
        };

        $(document).ready(function() {

            $("#detalleS").html("");

            $("[name=buscar]").on("click", function() {
                var bottonBuscar = $(this);


                var numS = $("#numS");
                if (numS.val() == "") {
                    alert("El numero de s no puede estar vacestar vacío");
                }
                else {
                    // Call per verifica existence of s
                    $.ajax({
                        url: checkSurl + "?numS=" + $("#numS").val(),
                        success: function(response) {
                            var isS = eval(response.trim());
                            console.log(isS);

                            // returns che il s esiste
                            if (isS) {
                                var targetURL = "https://www.sample.es/cgi-bin/fccgi.exe?w3exec=DET&CONTROL=samole&ID=" + numS.val();
                                bottonBuscar.parent('a').attr('href',targetURL);
                                bottonBuscar.parent('a').attr('target', '_blank');
                                console.log(bottonBuscar.parent('a').attr('href',targetURL));
                                console.log(bottonBuscar.parent('a').attr('target', '_blank'));

                            }
                            else {
                                alert("EL NUMERO DE S QUE HA INSERTADO NO ES CORRECTO.");
                                return false;
                            }
                        },
                        error: function(error) {
                            $("#detalleS").html(error);
                        }
                    });
                }

我想要更改的html元素是href,可能将目标设置为'_blank'。

<div class="formulario" >
                        <div align="center">
                            <a href="#"
                               onMouseOut="MM_swapImgRestore()"
                               onMouseOver="MM_swapImage('buscar','','<%=request.getContextPath()%>/img/buttonBuscarEnvio_over.png',1)">
                                <img src="<%=request.getContextPath()%>/img/buttonBuscarEnvio.png" alt="Buscar S"
                                     name="buscar" border="0" id="buscar"></a>
                        </div>

1 个答案:

答案 0 :(得分:0)

此处的主要问题是您已包含console.log()功能,并且Internet Explorer将抛出错误,因此后续脚本在console.log()调用后将无法运行。所以你可以尝试删除它们......

删除您提供的代码段中的三个console.log('...')来电......应该这样做......

或者您可以像window.console && window.console.log('text')

一样使用它

似乎您的目标是在名称为&#34; buscar&#34;的图像时,在新标签页或新窗口中打开网址。点击了......

在这种情况下,我建议用此

替换$ .ajax块
                   $.ajax({
                    url: checkSurl + "?numS=" + $("#numS").val(),
                    success: function(response) {
                        var isS = eval(response.trim());

                        // returns che il s esiste
                        if (isS) {
                            var targetURL = "https://www.sample.es/cgi-bin/fccgi.exe?w3exec=DET&CONTROL=samole&ID=" + numS.val();
                            window.open(targetURL, "_blank");

                        }
                        else {
                            alert("EL NUMERO DE S QUE HA INSERTADO NO ES CORRECTO.");
                            return false;
                        }
                    },
                    error: function(error) {
                        $("#detalleS").html(error);
                    }
                });