2

我有以下 Jquery 代码,它会提醒此变量中 HTML 字段的值$(".attachmentsUpload input.file").val());

我的问题是我想像这样将此值传递给变量 val

window.open("http://abc.com/crop/test.php?val="+$(".attachmentsUpload input.file").val()),"_blank","toolbar=yes, location=yes, directories=no, status=no, menubar=yes, scrollbars=yes, resizable=no, copyhistory=yes, width=400, height=400");

但它没有传递价值。

<script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js'></script>

      <script type='text/javascript'>//<![CDATA[ 
    $(function(){
    $(".attachmentsUpload input.file").live("change", function () {
        if ($(".attachmentsUpload input.file").val() == "") {
            return;
        }
        // your ajax submit
        alert("submit value of the file input field=" + $(".attachmentsUpload input.file").val());


        $(".attachmentsUpload input.file").replaceWith('<input type="file" class="file" name="file" />');
    });
    });//]]>  

    window.open("http://abc.com/crop/test.php?val="+$(".attachmentsUpload input.file").val()),"_blank","toolbar=yes, location=yes, directories=no, status=no, menubar=yes, scrollbars=yes, resizable=no, copyhistory=yes, width=400, height=400");

    </script>
</head>
<body>
  <form class="attachmentsUpload" action="/UploadHandler.ashx" method="post" enctype="multipart/form-data">
    <input type="file" class="file" name="file" />

</form>
</body>
</html>
4

2 回答 2

1

据我了解:

$(".attachmentsUpload input.file").replaceWith('<input type="file" class="file" name="file" />');

那么:

$(".attachmentsUpload input.file").val()返回字符串为空

于 2013-05-31T14:10:51.610 回答
1

看起来你在window.open声明中有一个额外的右括号。尝试更改val())val()

所以:

window.open("http://abc.com/crop/test.php?val="+$(".attachmentsUpload input.file").val()+","_blank","toolbar=yes, location=yes, directories=no, status=no, menubar=yes, scrollbars=yes, resizable=no, copyhistory=yes, width=400, height=400");
于 2013-05-31T14:14:48.970 回答